- java.lang.Object
-
- javafx.css.StyleConverter<F,T>
-
- Type Parameters:
F
- the type of the parsed valueT
- the converted type of the ParsedValueImpl
- Direct Known Subclasses:
BooleanConverter
,ColorConverter
,CursorConverter
,DeriveColorConverter
,DeriveSizeConverter
,DurationConverter
,EffectConverter
,EnumConverter
,FontConverter
,FontConverter.FontSizeConverter
,FontConverter.FontStyleConverter
,FontConverter.FontWeightConverter
,InsetsConverter
,InsetsConverter.SequenceConverter
,LadderConverter
,PaintConverter
,PaintConverter.ImagePatternConverter
,PaintConverter.LinearGradientConverter
,PaintConverter.RadialGradientConverter
,PaintConverter.RepeatingImagePatternConverter
,PaintConverter.SequenceConverter
,ShapeConverter
,SizeConverter
,SizeConverter.SequenceConverter
,StopConverter
,StringConverter
,StringConverter.SequenceConverter
,URLConverter
,URLConverter.SequenceConverter
public class StyleConverter<F,T> extends Object
StyleConverter convertsParsedValue<F,T>
from typeF
to typeT
. TheCssMetaData
API requires aStyleConverter
which is used when computing a value for theStyleableProperty
. There are a number of predefined converters which are accessible by the static methods of this class.F
is the type of the parsed value andT
is the converted type of the ParsedValueImpl. For example, a converter from String to Color would be declaredpublic Color convert(ParsedValueImpl<String,Color> value, Font font)
- Since:
- JavaFX 8.0
- See Also:
ParsedValue
,StyleableProperty
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
StyleConverter.StringStore
The StringStore class
-
Constructor Summary
Constructors Constructor Description StyleConverter()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
cacheValue(ParsedValue key, Object value)
Cache the value for the specified key.static void
clearCache()
Clear the cache.T
convert(Map<CssMetaData<? extends Styleable,?>,Object> convertedValues)
Convert from the constituent values to the target property type.T
convert(ParsedValue<F,T> value, Font font)
Convert from the parsed CSS value to the target property type.static StyleConverter<String,Boolean>
getBooleanConverter()
Return aStyleConverter
that converts "true" or "false" toBoolean
.protected T
getCachedValue(ParsedValue key)
Get the cached value for the specified key.static StyleConverter<String,Color>
getColorConverter()
Return aStyleConverter
that converts a String representation of a web color to aColor
.static StyleConverter<?,Duration>
getDurationConverter()
Return aStyleConverter
that converts a String representation of a duration to aDuration
.static StyleConverter<ParsedValue[],Effect>
getEffectConverter()
Return aStyleConverter
that converts a parsed representation of anEffect
to anEffect
static <E extends Enum<E>>
StyleConverter<String,? extends Enum<?>>getEnumConverter(Class<E> enumClass)
Return aStyleConverter
that converts a String representation of anEnum
to anEnum
.static StyleConverter<ParsedValue[],Font>
getFontConverter()
Return aStyleConverter
that converts a parsed representation of aFont
to anFont
.static StyleConverter<ParsedValue[],Insets>
getInsetsConverter()
Return aStyleConverter
that converts a [<length> | <percentage>]{1,4} to anInsets
.static StyleConverter<ParsedValue<?,Paint>,Paint>
getPaintConverter()
Return aStyleConverter
that converts a parsed representation of aPaint
to aPaint
.static StyleConverter<?,Number>
getSizeConverter()
CSS length and number values are parsed into a Size object that is converted to a Number before the value is applied.static StyleConverter<String,String>
getStringConverter()
A converter for quoted strings which may have embedded unicode characters.static StyleConverter<ParsedValue[],String>
getUrlConverter()
A converter for URL strings.static StyleConverter<?,?>
readBinary(DataInputStream is, String[] strings)
Read binary data stream.void
writeBinary(DataOutputStream os, StyleConverter.StringStore sstore)
Write binary data.
-
-
-
Method Detail
-
convert
public T convert(ParsedValue<F,T> value, Font font)
Convert from the parsed CSS value to the target property type.- Parameters:
value
- TheParsedValue
to convertfont
- TheFont
to use when converting a relative value.- Returns:
- the converted target property type
-
getBooleanConverter
public static StyleConverter<String,Boolean> getBooleanConverter()
Return aStyleConverter
that converts "true" or "false" toBoolean
.- Returns:
- A
StyleConverter
that converts "true" or "false" toBoolean
- See Also:
Boolean.valueOf(java.lang.String)
-
getDurationConverter
public static StyleConverter<?,Duration> getDurationConverter()
Return aStyleConverter
that converts a String representation of a duration to aDuration
.- Returns:
- A
StyleConverter
that converts a String representation of a duration to aDuration
- Since:
- JavaFX 8u40
-
getColorConverter
public static StyleConverter<String,Color> getColorConverter()
Return aStyleConverter
that converts a String representation of a web color to aColor
.- Returns:
- A
StyleConverter
that converts a String representation of a web color to aColor
- See Also:
Color.web(java.lang.String)
-
getEffectConverter
public static StyleConverter<ParsedValue[],Effect> getEffectConverter()
Return aStyleConverter
that converts a parsed representation of anEffect
to anEffect
- Returns:
- A
StyleConverter
that converts a parsed representation of anEffect
to anEffect
- See Also:
Effect
-
getEnumConverter
public static <E extends Enum<E>> StyleConverter<String,? extends Enum<?>> getEnumConverter(Class<E> enumClass)
Return aStyleConverter
that converts a String representation of anEnum
to anEnum
.- Type Parameters:
E
- the type of theEnum
- Parameters:
enumClass
- the enum Class- Returns:
- A
StyleConverter
that converts a String representation of anEnum
to anEnum
- See Also:
Enum.valueOf(java.lang.Class, java.lang.String)
-
getFontConverter
public static StyleConverter<ParsedValue[],Font> getFontConverter()
Return aStyleConverter
that converts a parsed representation of aFont
to anFont
.- Returns:
- A
StyleConverter
that converts a parsed representation of aFont
to anFont
- See Also:
Font.font(java.lang.String, javafx.scene.text.FontWeight, javafx.scene.text.FontPosture, double)
-
getInsetsConverter
public static StyleConverter<ParsedValue[],Insets> getInsetsConverter()
Return aStyleConverter
that converts a [<length> | <percentage>]{1,4} to anInsets
.- Returns:
- A
StyleConverter
that converts a [<length> | <percentage>]{1,4} to anInsets
-
getPaintConverter
public static StyleConverter<ParsedValue<?,Paint>,Paint> getPaintConverter()
Return aStyleConverter
that converts a parsed representation of aPaint
to aPaint
.- Returns:
- A
StyleConverter
that converts a parsed representation of aPaint
to aPaint
-
getSizeConverter
public static StyleConverter<?,Number> getSizeConverter()
CSS length and number values are parsed into a Size object that is converted to a Number before the value is applied. If the property is aNumber
type other thanDouble
, the set method of (CssMetaData
can be overridden to convert theNumber
to the correct type. For example, if the property is anIntegerProperty
:@Override public void set(MyNode node, Number value, Origin origin) { if (value != null) { super.set(node, value.intValue(), origin); } else { super.set(node, value, origin); } }
- Returns:
- A
StyleConverter
that converts a parsed representation of a CSS length or number value to aNumber
that is an instance ofDouble
-
getStringConverter
public static StyleConverter<String,String> getStringConverter()
A converter for quoted strings which may have embedded unicode characters.- Returns:
- A
StyleConverter
that converts a representation of a CSS string value to aString
-
getUrlConverter
public static StyleConverter<ParsedValue[],String> getUrlConverter()
A converter for URL strings.- Returns:
- A
StyleConverter
that converts a representation of a CSS URL value to aString
-
convert
public T convert(Map<CssMetaData<? extends Styleable,?>,Object> convertedValues)
Convert from the constituent values to the target property type. Implemented by Types that have Keys with subKeys.- Parameters:
convertedValues
- the constituent values- Returns:
- the target property type
- Since:
- 9
-
writeBinary
public void writeBinary(DataOutputStream os, StyleConverter.StringStore sstore) throws IOException
Write binary data.- Parameters:
os
- the data output streamsstore
- the string store- Throws:
IOException
- the exception- Since:
- 9
-
clearCache
public static void clearCache()
Clear the cache.- Since:
- 9
-
getCachedValue
protected T getCachedValue(ParsedValue key)
Get the cached value for the specified key.- Parameters:
key
- the key- Returns:
- the cached value
- Since:
- 9
-
cacheValue
protected void cacheValue(ParsedValue key, Object value)
Cache the value for the specified key.- Parameters:
key
- the keyvalue
- the value- Since:
- 9
-
readBinary
public static StyleConverter<?,?> readBinary(DataInputStream is, String[] strings) throws IOException
Read binary data stream.- Parameters:
is
- the data input streamstrings
- the strings- Returns:
- the style converter
- Throws:
IOException
- the exception- Since:
- 9
-
-