Package org.simpleframework.xml.core
Class Primitive
java.lang.Object
org.simpleframework.xml.core.Primitive
- All Implemented Interfaces:
Converter
The
Primitive
object is used to provide serialization
for primitive objects. This can serialize and deserialize any
primitive object and enumerations. Primitive values are converted
to text using the String.valueOf
method. Enumerated
types are converted using the Enum.valueOf
method.
Text within attributes and elements can contain template variables similar to those found in Apache Ant. This allows values such as system properties, environment variables, and user specified mappings to be inserted into the text in place of the template reference variables.
<example attribute="${value}> <text>Text with a ${variable}</text> </example>In the above XML element the template variable references will be checked against the
Filter
object used by the context
serialization object. If they corrospond to a filtered value then
they are replaced, if not the text remains unchanged.- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Context
The context object is used to perform text value filtering.private final String
This the value used to represent a null primitive value.private final Class
This is the type that this primitive expects to represent.private final PrimitiveFactory
This is used to convert the string values to primitives.private final Type
This is the actual method or field that has been annotated. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionThisread
method will extract the text value from the node and replace any template variables before converting it to a primitive value.Thisread
method will extract the text value from the node and replace any template variables before converting it to a primitive value.Thisread
method will extract the text value from the node and replace any template variables before converting it to a primitive value.private Object
readElement
(InputNode node) Thisread
method will extract the text value from the node and replace any template variables before converting it to a primitive value.private Object
readElement
(InputNode node, Instance value) Thisread
method will extract the text value from the node and replace any template variables before converting it to a primitive value.private Object
readTemplate
(String value, Class type) Thisread
method will extract the text value from the node and replace any template variables before converting it to a primitive value.boolean
Thisvalidate
method will validate the primitive by checking the node text.private boolean
validateElement
(InputNode node) ThisvalidateElement
method validates a primitive by checking the node text.void
write
(OutputNode node, Object source) Thiswrite
method will serialize the contents of the provided object to the given XML element.
-
Field Details
-
factory
This is used to convert the string values to primitives. -
context
The context object is used to perform text value filtering. -
empty
This the value used to represent a null primitive value. -
expect
This is the type that this primitive expects to represent. -
type
This is the actual method or field that has been annotated.
-
-
Constructor Details
-
Primitive
Constructor for thePrimitive
object. This is used to convert an XML node to a primitive object and vice versa. To perform deserialization the primitive object requires the context object used for the instance of serialization to performed.- Parameters:
context
- the context object used for the serializationtype
- this is the type of primitive this represents
-
Primitive
Constructor for thePrimitive
object. This is used to convert an XML node to a primitive object and vice versa. To perform deserialization the primitive object requires the context object used for the instance of serialization to performed.- Parameters:
context
- the context object used for the serializationtype
- this is the type of primitive this representsempty
- this is the value used to represent a null value
-
-
Method Details
-
read
Thisread
method will extract the text value from the node and replace any template variables before converting it to a primitive value. This uses theContext
object used for this instance of serialization to replace all template variables with values from the context filter. -
read
Thisread
method will extract the text value from the node and replace any template variables before converting it to a primitive value. This uses theContext
object used for this instance of serialization to replace all template variables with values from the context filter. -
read
Thisread
method will extract the text value from the node and replace any template variables before converting it to a primitive value. This uses theContext
object used for this instance of serialization to replace all template variables with values from the context filter.- Parameters:
node
- this is the node to be converted to a primitivetype
- this is the type to read the primitive with- Returns:
- this returns the primitive that has been deserialized
- Throws:
Exception
-
readElement
Thisread
method will extract the text value from the node and replace any template variables before converting it to a primitive value. This uses theContext
object used for this instance of serialization to replace all template variables with values from the context filter.- Parameters:
node
- this is the node to be converted to a primitive- Returns:
- this returns the primitive that has been deserialized
- Throws:
Exception
-
readElement
Thisread
method will extract the text value from the node and replace any template variables before converting it to a primitive value. This uses theContext
object used for this instance of serialization to replace all template variables with values from the context filter.- Parameters:
node
- this is the node to be converted to a primitivevalue
- this is the instance to set the result to- Returns:
- this returns the primitive that has been deserialized
- Throws:
Exception
-
readTemplate
Thisread
method will extract the text value from the node and replace any template variables before converting it to a primitive value. This uses theContext
object used for this instance of serialization to replace all template variables with values from the context filter.- Parameters:
value
- this is the value to be processed as a templatetype
- this is the type that that the primitive is- Returns:
- this returns the primitive that has been deserialized
- Throws:
Exception
-
validate
Thisvalidate
method will validate the primitive by checking the node text. If the value is a reference then this will not extract any value from the node. Transformation of the extracted value is not done as it can not account for template variables. Thus any text extracted is valid. -
validateElement
ThisvalidateElement
method validates a primitive by checking the node text. If the value is a reference then this will not extract any value from the node. Transformation of the extracted value is not done as it can not account for template variables. Thus any text extracted is valid.- Parameters:
node
- this is the node to be validated as a primitive- Returns:
- this returns the primitive that has been validated
- Throws:
Exception
-
write
Thiswrite
method will serialize the contents of the provided object to the given XML element. This will use theString.valueOf
method to convert the object to a string if the object represents a primitive, if however the object represents an enumerated type then the text value is created usingEnum.name
.
-