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 ContextThe context object is used to perform text value filtering.private final StringThis the value used to represent a null primitive value.private final ClassThis is the type that this primitive expects to represent.private final PrimitiveFactoryThis is used to convert the string values to primitives.private final TypeThis is the actual method or field that has been annotated. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionThisreadmethod will extract the text value from the node and replace any template variables before converting it to a primitive value.Thisreadmethod will extract the text value from the node and replace any template variables before converting it to a primitive value.Thisreadmethod will extract the text value from the node and replace any template variables before converting it to a primitive value.private ObjectreadElement(InputNode node) Thisreadmethod will extract the text value from the node and replace any template variables before converting it to a primitive value.private ObjectreadElement(InputNode node, Instance value) Thisreadmethod will extract the text value from the node and replace any template variables before converting it to a primitive value.private ObjectreadTemplate(String value, Class type) Thisreadmethod will extract the text value from the node and replace any template variables before converting it to a primitive value.booleanThisvalidatemethod will validate the primitive by checking the node text.private booleanvalidateElement(InputNode node) ThisvalidateElementmethod validates a primitive by checking the node text.voidwrite(OutputNode node, Object source) Thiswritemethod 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 thePrimitiveobject. 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 thePrimitiveobject. 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
Thisreadmethod will extract the text value from the node and replace any template variables before converting it to a primitive value. This uses theContextobject used for this instance of serialization to replace all template variables with values from the context filter. -
read
Thisreadmethod will extract the text value from the node and replace any template variables before converting it to a primitive value. This uses theContextobject used for this instance of serialization to replace all template variables with values from the context filter. -
read
Thisreadmethod will extract the text value from the node and replace any template variables before converting it to a primitive value. This uses theContextobject 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
Thisreadmethod will extract the text value from the node and replace any template variables before converting it to a primitive value. This uses theContextobject 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
Thisreadmethod will extract the text value from the node and replace any template variables before converting it to a primitive value. This uses theContextobject 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
Thisreadmethod will extract the text value from the node and replace any template variables before converting it to a primitive value. This uses theContextobject 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
Thisvalidatemethod 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
ThisvalidateElementmethod 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
Thiswritemethod will serialize the contents of the provided object to the given XML element. This will use theString.valueOfmethod 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.
-