com.jgoodies.binding.value
Class ConverterFactory
java.lang.Object
com.jgoodies.binding.value.ConverterFactory
public final class ConverterFactory
extends java.lang.Object
A factory that vends ValueModels that convert types, for example
Dates to Strings. More formally, a converting ValueModel
VM1
converts the type
T2 of an object being held as a value in
one ValueModel
VM2 into another type
T1.
When reading a value from VM1, instances of T2 are read from VM2
and are converted to T1. When storing a new value to VM1,
the type converter will perform the inverse conversion and
will convert an instance of T1 to T2.
Type converters should be used judiciously and only to bridge two
ValueModels. To bind non-Strings to a text UI component
you should better use a
javax.swing.JFormattedTextField
.
They provide a more powerful means to convert strings to objects
and handle many cases that arise around invalid input. See also the classes
Bindings
and
BasicComponentFactory
on how to
bind ValueModels to formatted text fields.
The inner converter implementations have a 'public' visibility
to enable reflection access.
ValueModel
, Format
, javax.swing.JFormattedTextField
static ValueModel | createBooleanNegator(ValueModel booleanSubject) - Creates and returns a ValueModel that negates Booleans and leaves
null unchanged.
|
static ValueModel | createBooleanToStringConverter(ValueModel booleanSubject, String trueText, String falseText) - Creates and returns a ValueModel that converts Booleans
to the associated of the two specified strings, and vice versa.
|
static ValueModel | createBooleanToStringConverter(ValueModel booleanSubject, String trueText, String falseText, String nullText) - Creates and returns a ValueModel that converts Booleans
to the associated of the two specified strings, and vice versa.
|
static ValueModel | createDoubleConverter(ValueModel doubleSubject, double multiplier) - Creates and returns a ValueModel that converts Doubles using the
specified multiplier.
|
static ValueModel | createDoubleToIntegerConverter(ValueModel doubleSubject) - Creates and returns a ValueModel that converts Doubles to Integer,
and vice versa.
|
static ValueModel | createDoubleToIntegerConverter(ValueModel doubleSubject, int multiplier) - Creates and returns a ValueModel that converts Doubles to Integer,
and vice versa.
|
static ValueModel | createFloatConverter(ValueModel floatSubject, float multiplier) - Creates and returns a ValueModel that converts Floats using the
specified multiplier.
|
static ValueModel | createFloatToIntegerConverter(ValueModel floatSubject) - Creates and returns a ValueModel that converts Floats to Integer,
and vice versa.
|
static ValueModel | createFloatToIntegerConverter(ValueModel floatSubject, int multiplier) - Creates and returns a ValueModel that converts Floats to Integer,
and vice versa.
|
static ValueModel | createIntegerConverter(ValueModel integerSubject, double multiplier) - Creates and returns a ValueModel that converts Integers using the
specified multiplier.
|
static ValueModel | createLongConverter(ValueModel longSubject, double multiplier) - Creates and returns a ValueModel that converts Long using the
specified multiplier.
|
static ValueModel | createLongToIntegerConverter(ValueModel longSubject) - Creates and returns a ValueModel that converts Longs to Integer
and vice versa.
|
static ValueModel | createLongToIntegerConverter(ValueModel longSubject, int multiplier) - Creates and returns a ValueModel that converts Longs to Integer
and vice versa.
|
static ValueModel | createStringConverter(ValueModel subject, Format format) - Creates and returns a ValueModel that converts objects to Strings
and vice versa.
|
createBooleanNegator
public static ValueModel createBooleanNegator(ValueModel booleanSubject)
Creates and returns a ValueModel that negates Booleans and leaves
null unchanged.
Constraints: The subject is of type
Boolean
.
booleanSubject
- a Boolean ValueModel
- a ValueModel that inverts Booleans
createBooleanToStringConverter
public static ValueModel createBooleanToStringConverter(ValueModel booleanSubject,
String trueText,
String falseText)
Creates and returns a ValueModel that converts Booleans
to the associated of the two specified strings, and vice versa.
Null values are mapped to an empty string.
Ignores cases when setting a text.
Constraints: The subject is of type
Boolean
.
booleanSubject
- a Boolean ValueModeltrueText
- the text associated with Boolean.TRUE
falseText
- the text associated with Boolean.FALSE
- a ValueModel that converts boolean to the associated text
createBooleanToStringConverter
public static ValueModel createBooleanToStringConverter(ValueModel booleanSubject,
String trueText,
String falseText,
String nullText)
Creates and returns a ValueModel that converts Booleans
to the associated of the two specified strings, and vice versa.
Null values are mapped to the specified text.
Ignores cases when setting a text.
Constraints: The subject is of type
Boolean
.
booleanSubject
- a Boolean ValueModeltrueText
- the text associated with Boolean.TRUE
falseText
- the text associated with Boolean.FALSE
nullText
- the text associated with null
- a ValueModel that converts boolean to the associated text
createDoubleConverter
public static ValueModel createDoubleConverter(ValueModel doubleSubject,
double multiplier)
Creates and returns a ValueModel that converts Doubles using the
specified multiplier.
Examples: multiplier=100, Double(1.23) -> Double(123),
multiplier=1000, Double(1.23) -> Double(1230)
Constraints: The subject is of type
Double
.
doubleSubject
- a Double ValueModelmultiplier
- the multiplier used for the conversion
- a ValueModel that converts Doubles using the specified multiplier
createDoubleToIntegerConverter
public static ValueModel createDoubleToIntegerConverter(ValueModel doubleSubject)
Creates and returns a ValueModel that converts Doubles to Integer,
and vice versa.
Constraints: The subject is of type
Double
.
doubleSubject
- a Double ValueModel
- a ValueModel that converts Doubles to Integer
createDoubleToIntegerConverter
public static ValueModel createDoubleToIntegerConverter(ValueModel doubleSubject,
int multiplier)
Creates and returns a ValueModel that converts Doubles to Integer,
and vice versa. The multiplier can be used to convert Doubles
to percent, permill, etc. For a percentage, set the multiplier to be 100,
for a permill, set the multiplier to be 1000.
Examples: multiplier=100, Double(1.23) -> Integer(123),
multiplier=1000, Double(1.23) -> Integer(1230)
Constraints: The subject is of type
Double
.
doubleSubject
- a Double ValueModelmultiplier
- the multiplier used to convert the Double to Integer
- a ValueModel that converts Doubles to Integer
createFloatConverter
public static ValueModel createFloatConverter(ValueModel floatSubject,
float multiplier)
Creates and returns a ValueModel that converts Floats using the
specified multiplier.
Examples: multiplier=100, Float(1.23) -> Float(123),
multiplier=1000, Float(1.23) -> Float(1230)
Constraints: The subject is of type
Float
.
floatSubject
- a Float ValueModelmultiplier
- the multiplier used for the conversion
- a ValueModel that converts Float using the specified multiplier
createFloatToIntegerConverter
public static ValueModel createFloatToIntegerConverter(ValueModel floatSubject)
Creates and returns a ValueModel that converts Floats to Integer,
and vice versa.
Constraints: The subject is of type
Float
.
s
floatSubject
- a Float ValueModel
- a ValueModel that converts Floats to Integer
createFloatToIntegerConverter
public static ValueModel createFloatToIntegerConverter(ValueModel floatSubject,
int multiplier)
Creates and returns a ValueModel that converts Floats to Integer,
and vice versa. The multiplier can be used to convert Floats
to percent, permill, etc. For a percentage, set the multiplier to be 100,
for a permill, set the multiplier to be 1000.
Constraints: The subject is of type
Float
.
floatSubject
- a Float ValueModelmultiplier
- the multiplier used to convert the Float to Integer
- a ValueModel that converts Floats to Integer
createIntegerConverter
public static ValueModel createIntegerConverter(ValueModel integerSubject,
double multiplier)
Creates and returns a ValueModel that converts Integers using the
specified multiplier.
Examples: multiplier=100, Integer(3) -> Integer(300),
multiplier=1000, Integer(3) -> Integer(3000)
Constraints: The subject is of type
Integer
.
integerSubject
- a Integer ValueModelmultiplier
- the multiplier used for the conversion
- a ValueModel that converts Integers using the specified multiplier
createLongConverter
public static ValueModel createLongConverter(ValueModel longSubject,
double multiplier)
Creates and returns a ValueModel that converts Long using the
specified multiplier.
Examples: multiplier=100, Long(3) -> Long(300),
multiplier=1000, Long(3) -> Long(3000)
Constraints: The subject is of type
Long
.
longSubject
- a Long ValueModelmultiplier
- the multiplier used for the conversion
- a ValueModel that converts Longs using the specified multiplier
createLongToIntegerConverter
public static ValueModel createLongToIntegerConverter(ValueModel longSubject)
Creates and returns a ValueModel that converts Longs to Integer
and vice versa.
Constraints: The subject is of type
Long
,
values written to the converter are of type
Integer
.
longSubject
- a Long ValueModel
- a ValueModel that converts Longs to Integer
createLongToIntegerConverter
public static ValueModel createLongToIntegerConverter(ValueModel longSubject,
int multiplier)
Creates and returns a ValueModel that converts Longs to Integer
and vice versa.
Constraints: The subject is of type
Long
,
values written to the converter are of type
Integer
.
longSubject
- a Long ValueModelmultiplier
- used to multiply the Long when converting to Integer
- a ValueModel that converts Longs to Integer
createStringConverter
public static ValueModel createStringConverter(ValueModel subject,
Format format)
Creates and returns a ValueModel that converts objects to Strings
and vice versa. The conversion is performed by a
Format
.
Constraints: The subject is of type
Object
;
it must be formattable and parsable via the given
Format
.
subject
- the underlying ValueModel.format
- the Format
used to format and parse
- a ValueModel that converts objects to Strings and vice versa
Copyright © 2002-2008 JGoodies Karsten Lentzsch. All Rights Reserved.