Package com.formdev.flatlaf.themeeditor
Class FlatThemePropertiesSupport
- java.lang.Object
-
- com.formdev.flatlaf.themeeditor.FlatThemePropertiesSupport
-
- All Implemented Interfaces:
java.util.EventListener
,javax.swing.event.DocumentListener
class FlatThemePropertiesSupport extends java.lang.Object implements javax.swing.event.DocumentListener
Supports parsing content of text area in FlatLaf properties syntax.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static interface
FlatThemePropertiesSupport.BasePropertyProvider
(package private) static class
FlatThemePropertiesSupport.CacheLineInfo
(package private) static class
FlatThemePropertiesSupport.KeyValue
-
Field Summary
Fields Modifier and Type Field Description private java.util.Set<java.lang.String>
allKeysCache
private FlatThemePropertiesSupport.BasePropertyProvider
basePropertyProvider
private java.lang.String
baseTheme
private long
cacheInvalidationCounter
private static long
globalCacheInvalidationCounter
private java.util.Map<java.lang.Integer,java.lang.Object>
parsedValueCache
private java.util.Map<java.lang.String,java.lang.Object>
parsedValueCache2
private static java.lang.String
platformPrefix
private java.util.Properties
propertiesCache
private java.util.function.Function<java.lang.String,java.lang.String>
propertiesGetter
private java.util.function.Function<java.lang.String,java.lang.String>
resolver
private FlatSyntaxTextArea
textArea
private static java.util.Set<java.lang.String>
wildcardKeys
-
Constructor Summary
Constructors Constructor Description FlatThemePropertiesSupport(FlatSyntaxTextArea textArea)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
autoClearCache()
Clear caches that may depend on other editors if cache of another editor was invalidated.void
changedUpdate(javax.swing.event.DocumentEvent e)
private void
clearCache()
(package private) java.util.Set<java.lang.String>
getAllKeys()
private java.lang.String
getBaseTheme()
(package private) static java.util.Set<java.lang.String>
getKeysForWildcard(java.lang.String key)
private FlatThemePropertiesSupport.KeyValue
getKeyValueAtLine(int line)
(package private) java.lang.Object
getParsedProperty(java.lang.String key)
(package private) java.lang.Object
getParsedValueAtLine(int line)
(package private) java.util.Properties
getProperties()
(package private) java.lang.String
getProperty(java.lang.String key)
private java.lang.String
getPropertyOrWildcard(java.lang.String key)
void
insertUpdate(javax.swing.event.DocumentEvent e)
(package private) static boolean
isDark(java.lang.String baseTheme)
private static boolean
isKeyAllowedForWildcard(java.lang.String key)
private static void
loadKeysAllowedForWildcard()
void
removeUpdate(javax.swing.event.DocumentEvent e)
private java.lang.String
resolveValue(java.lang.String value)
(package private) void
setBasePropertyProvider(FlatThemePropertiesSupport.BasePropertyProvider basePropertyProvider)
-
-
-
Field Detail
-
textArea
private final FlatSyntaxTextArea textArea
-
propertiesGetter
private final java.util.function.Function<java.lang.String,java.lang.String> propertiesGetter
-
resolver
private final java.util.function.Function<java.lang.String,java.lang.String> resolver
-
basePropertyProvider
private FlatThemePropertiesSupport.BasePropertyProvider basePropertyProvider
-
propertiesCache
private java.util.Properties propertiesCache
-
parsedValueCache
private final java.util.Map<java.lang.Integer,java.lang.Object> parsedValueCache
-
parsedValueCache2
private final java.util.Map<java.lang.String,java.lang.Object> parsedValueCache2
-
allKeysCache
private java.util.Set<java.lang.String> allKeysCache
-
baseTheme
private java.lang.String baseTheme
-
globalCacheInvalidationCounter
private static long globalCacheInvalidationCounter
-
cacheInvalidationCounter
private long cacheInvalidationCounter
-
wildcardKeys
private static java.util.Set<java.lang.String> wildcardKeys
-
platformPrefix
private static final java.lang.String platformPrefix
-
-
Constructor Detail
-
FlatThemePropertiesSupport
FlatThemePropertiesSupport(FlatSyntaxTextArea textArea)
-
-
Method Detail
-
setBasePropertyProvider
void setBasePropertyProvider(FlatThemePropertiesSupport.BasePropertyProvider basePropertyProvider)
-
resolveValue
private java.lang.String resolveValue(java.lang.String value) throws java.lang.IllegalArgumentException
- Throws:
java.lang.IllegalArgumentException
-
getParsedValueAtLine
java.lang.Object getParsedValueAtLine(int line)
-
getKeyValueAtLine
private FlatThemePropertiesSupport.KeyValue getKeyValueAtLine(int line)
-
getParsedProperty
java.lang.Object getParsedProperty(java.lang.String key)
-
getPropertyOrWildcard
private java.lang.String getPropertyOrWildcard(java.lang.String key)
-
getProperty
java.lang.String getProperty(java.lang.String key)
-
getProperties
java.util.Properties getProperties()
-
getAllKeys
java.util.Set<java.lang.String> getAllKeys()
-
isDark
static boolean isDark(java.lang.String baseTheme)
-
getBaseTheme
private java.lang.String getBaseTheme()
-
clearCache
private void clearCache()
-
autoClearCache
private void autoClearCache()
Clear caches that may depend on other editors if cache of another editor was invalidated.
-
getKeysForWildcard
static java.util.Set<java.lang.String> getKeysForWildcard(java.lang.String key)
-
isKeyAllowedForWildcard
private static boolean isKeyAllowedForWildcard(java.lang.String key)
-
loadKeysAllowedForWildcard
private static void loadKeysAllowedForWildcard()
-
insertUpdate
public void insertUpdate(javax.swing.event.DocumentEvent e)
- Specified by:
insertUpdate
in interfacejavax.swing.event.DocumentListener
-
removeUpdate
public void removeUpdate(javax.swing.event.DocumentEvent e)
- Specified by:
removeUpdate
in interfacejavax.swing.event.DocumentListener
-
changedUpdate
public void changedUpdate(javax.swing.event.DocumentEvent e)
- Specified by:
changedUpdate
in interfacejavax.swing.event.DocumentListener
-
-