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 converts
ParsedValue<F,T>
from type F
to type T
. The
CssMetaData
API requires a StyleConverter
which is used
when computing a value for the StyleableProperty
. 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 and T
is the converted type of
the ParsedValueImpl. For example, a converter from String to Color would
be declared
public 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()
Creates aStyleConverter
. -
Method Summary
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,E>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.
-
Constructor Details
-
StyleConverter
public StyleConverter()Creates aStyleConverter
.
-
-
Method Details
-
convert
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
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
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
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
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
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
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
Return aStyleConverter
that converts a [<length> | <percentage>]{1,4} to anInsets
.- Returns:
- A
StyleConverter
that converts a [<length> | <percentage>]{1,4} to anInsets
-
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
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
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
A converter for URL strings.- Returns:
- A
StyleConverter
that converts a representation of a CSS URL value to aString
-
convert
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
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
Get the cached value for the specified key.- Parameters:
key
- the key- Returns:
- the cached value
- Since:
- 9
-
cacheValue
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 IOExceptionRead binary data stream.- Parameters:
is
- the data input streamstrings
- the strings- Returns:
- the style converter
- Throws:
IOException
- the exception- Since:
- 9
-