public class Transformer extends Object
Transformer object is used to convert strings to
and from object instances. This is used during the serialization
and deserialization process to transform types from the Java class
libraries, as well as other types which do not contain XML schema
annotations. Typically this will be used to transform primitive
types to and from strings, such as int values.
@Element
private String[] value;
For example taking the above value the array of strings needs to
be converted in to a single string value that can be inserted in
to the element in such a way that in can be read later. In this
case the serialized value of the string array would be as follows.
<value>one, two, three</value>
Here each non-null string is inserted in to a comma separated
list of values, which can later be deserialized. Just to note the
above array could be annotated with ElementList just
as easily, in which case each entry would have its own element.
The choice of which annotation to use is up to the developer. A
more obvious benefit to transformations like this can be seen for
values annotated with the Attribute annotation.| Constructor and Description |
|---|
Transformer(Matcher matcher)
Constructor for the
Transformer object. |
| Modifier and Type | Method and Description |
|---|---|
Object |
read(String value,
Class type)
This method is used to convert the string value given to an
appropriate representation.
|
boolean |
valid(Class type)
This method is used to determine if the type specified can be
transformed.
|
String |
write(Object value,
Class type)
This method is used to convert the provided value into an XML
usable format.
|
public Transformer(Matcher matcher)
Transformer object. This is
used to create a transformer which will transform specified
types using transforms loaded from the class path. Transforms
are matched to types using the specified matcher object.matcher - this is used to match types to transformspublic Object read(String value, Class type) throws Exception
value - this is the string representation of the valuetype - this is the type to convert the string value toExceptionpublic String write(Object value, Class type) throws Exception
value - this is the value to be converted to a stringtype - this is the type to convert to a string valueExceptionpublic boolean valid(Class type) throws Exception
Matcher to find a
suitable transform, if one exists then this returns true, if
not then this returns false. This is used during serialization
to determine how to convert a field or method parameter.type - the type to determine whether its transformableException