Class Composite
- All Implemented Interfaces:
Converter
Composite
object is used to perform serialization
of objects that contain XML annotations. Composite objects are objects
that are not primitive and contain references to serializable fields.
This Converter
will visit each field within the object
and deserialize or serialize that field depending on the requested
action. If a required field is not present when deserializing from
an XML element this terminates and deserialization reports the error.
<element name="test" class="some.package.Type"> <text>string value</text> <integer>1234</integer> </element>To deserialize the above XML source this will attempt to match the attribute name with an
Attribute
annotation from the
XML schema class, which is specified as "some.package.Type". This
type must also contain Element
annotations for the
"text" and "integer" elements.
Serialization requires that contacts marked as required must have values that are not null. This ensures that the serialized object can be deserialized at a later stage using the same class schema. If a required value is null the serialization terminates and an exception is thrown.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static class
This takes the approach that the object is instantiated first and then the annotated fields and methods are deserialized from the XML elements and attributes.private class
This takes the approach that the objects are deserialized first then the instance is created using a constructor. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Context
This is the source object for the instance of serialization.private final Criteria
This is used to store objects so that they can be read again.private final ObjectFactory
This factory creates instances of the deserialized object.private final Primitive
This is used to convert any primitive values that are needed.private final Revision
This is the current revision of this composite converter.private final Type
This is the type that this composite produces instances of. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate boolean
isOverridden
(OutputNode node, Object value, Type type) This is used to determine whether the specified value has been overridden by the strategy.private Composite.Builder
Thisread
method performs deserialization of the XML schema class type by traversing the contacts and instantiating them using details from the provided XML element.Thisread
method performs deserialization of the XML schema class type by traversing the contacts and instantiating them using details from the provided XML element.Thisread
method performs deserialization of the XML schema class type by traversing the contacts and instantiating them using details from the provided XML element.private void
Thisread
method performs deserialization of the XML schema class type by traversing the contacts and instantiating them using details from the provided XML element.private Object
Thisread
method performs deserialization of the XML schema class type by traversing the contacts and instantiating them using details from the provided XML element.private void
readAttribute
(InputNode node, Object source, Section section, LabelMap map) ThisreadAttribute
method is used for deserialization of the provided node object using a delegate converter.private void
readAttributes
(InputNode node, Object source, Section section) ThisreadAttributes
method reads the attributes from the provided XML element.private void
readElement
(InputNode node, Object source, Section section, LabelMap map) ThisreadElement
method is used for deserialization of the provided node object using a delegate converter.private void
readElements
(InputNode node, Object source, Section section) ThisreadElements
method reads the elements from the provided XML element.private Object
readInstance
(InputNode node, Object source, Label label) Thisread
method is used to perform deserialization of the provided node object using a delegate converter.private Object
readPrimitive
(InputNode node, Instance value) ThisreadPrimitive
method will extract the text value from the node and replace any template variables before converting it to a primitive value.private Object
readResolve
(InputNode node, Object source, Caller caller) ThereadResolve
method is used to determine if there is a resolution method which can be used to substitute the object deserialized.private void
readSection
(InputNode node, Object source, Section section) ThisreadSection
method performs deserialization of a schema class type by traversing the contacts and instantiating them using details from the provided XML element.private void
ThisreadText
method is used to read the text value from the XML element node specified.private void
ThereadUnion
method is determine the unions for a particular label and set the value of that union to the same value as the label.private Object
readVariable
(InputNode node, Object source, Label label) ThisreadObject
method is used to perform the deserialization of the XML in to any original value.private void
readVersion
(InputNode node, Object source, Label label) This method is used to read the version from the provided input node.private void
readVersion
(InputNode node, Object source, Schema schema) This method is used to read the version from the provided input node.boolean
Thisvalidate
method performs validation of the XML schema class type by traversing the contacts and validating them using details from the provided XML element.private boolean
Thisvalidate
method performs validation of the XML schema class type by traversing the contacts and validating them using details from the provided XML element.private void
Thisvalidate
method is used to perform validation of the provided node object using a delegate converter.private void
This method checks to see if there are anyLabel
objects remaining in the provided map that are required.private void
This method checks to see if there are anyLabel
objects remaining in the provided map that are required.private void
validateAttribute
(InputNode node, Section section, LabelMap map) ThisvalidateAttribute
method performs a validation of the provided node object using a delegate converter.private void
validateAttributes
(InputNode node, Section section) ThisvalidateAttributes
method validates the attributes from the provided XML element.private void
validateElement
(InputNode node, Section section, LabelMap map) ThisvalidateElement
method performs a validation of the provided node object using a delegate converter.private void
validateElements
(InputNode node, Section section) ThisvalidateElements
method validates the elements from the provided XML element.private void
validateSection
(InputNode node, Section section) ThisvalidateSection
method performs validation of a schema class type by traversing the contacts and validating them using details from the provided XML element.private void
validateText
(InputNode node, Schema schema) ThisvalidateText
method validates the text value from the XML element node specified.private void
validateUnion
(InputNode node, LabelMap map, Label label) ThevalidateUnion
method is determine the unions for a particular label and set the value of that union to the same value as the label.void
write
(OutputNode node, Object source) Thiswrite
method is used to perform serialization of the given source object.private void
write
(OutputNode node, Object source, Schema schema) Thiswrite
method is used to perform serialization of the given source object.private void
writeAttribute
(OutputNode node, Object value, Label label) This write method is used to set the value of the provided object as an attribute to the XML element.private void
writeAttributes
(OutputNode node, Object source, Section section) This write method is used to write all the attribute contacts from the provided source object to the XML element.private void
writeElement
(OutputNode node, Object value, Converter convert) This is used write the element specified using the specified converter.private void
writeElement
(OutputNode node, Object value, Label label) This write method is used to append the provided object as an element to the given XML element object.private void
writeElements
(OutputNode node, Object source, Section section) This write method is used to write all the element contacts from the provided source object to the XML element.private void
writeNamespaces
(OutputNode node, Type type, Label label) This is used to applyDecorator
objects to the provided node before it is written.private Object
writeReplace
(Object source) ThewriteReplace
method is used to replace an object before it is serialized.private void
writeSection
(OutputNode node, Object source, Section section) ThiswriteSection
method is used to perform serialization of the given source object.private void
writeText
(OutputNode node, Object value, Label label) This write method is used to set the value of the provided object as the text for the XML element.private void
writeText
(OutputNode node, Object source, Section section) This write method is used to write the text contact from the provided source object to the XML element.private void
writeUnion
(OutputNode node, Object source, Section section, Label label) ThewriteUnion
method is determine the unions for a particular label and set the value of that union to the same value as the label.private void
writeVersion
(OutputNode node, Object source, Schema schema) This method is used to write the version attribute.
-
Field Details
-
factory
This factory creates instances of the deserialized object. -
primitive
This is used to convert any primitive values that are needed. -
criteria
This is used to store objects so that they can be read again. -
revision
This is the current revision of this composite converter. -
context
This is the source object for the instance of serialization. -
type
This is the type that this composite produces instances of.
-
-
Constructor Details
-
Composite
Constructor for theComposite
object. This creates a converter object capable of serializing and deserializing root objects labeled with XML annotations. The XML schema class must be given to the instance in order to perform deserialization.- Parameters:
context
- the source object used to perform serializationtype
- this is the XML schema type to use for this
-
Composite
Constructor for theComposite
object. This creates a converter object capable of serializing and deserializing root objects labeled with XML annotations. The XML schema class must be given to the instance in order to perform deserialization.- Parameters:
context
- the source object used to perform serializationtype
- this is the XML schema type to use for thisoverride
- this is the override type declared for this
-
-
Method Details
-
read
Thisread
method performs deserialization of the XML schema class type by traversing the contacts and instantiating them using details from the provided XML element. Because this will convert a non-primitive value it delegates to other converters to perform deserialization of lists and primitives.If any of the required contacts are not present within the provided XML element this will terminate deserialization and throw an exception. The annotation missing is reported in the exception.
-
read
Thisread
method performs deserialization of the XML schema class type by traversing the contacts and instantiating them using details from the provided XML element. Because this will convert a non-primitive value it delegates to other converters to perform deserialization of lists and primitives.If any of the required contacts are not present within the provided XML element this will terminate deserialization and throw an exception. The annotation missing is reported in the exception.
-
read
Thisread
method performs deserialization of the XML schema class type by traversing the contacts and instantiating them using details from the provided XML element. Because this will convert a non-primitive value it delegates to other converters to perform deserialization of lists and primitives.If any of the required contacts are not present within the provided XML element this will terminate deserialization and throw an exception. The annotation missing is reported in the exception.
- Parameters:
node
- the XML element contact values are deserialized fromvalue
- this is the instance for the object within the graphreal
- this is the real type that is to be evaluated- Returns:
- this returns the fully deserialized object graph
- Throws:
Exception
-
read
Thisread
method performs deserialization of the XML schema class type by traversing the contacts and instantiating them using details from the provided XML element. Because this will convert a non-primitive value it delegates to other converters to perform deserialization of lists and primitives.If any of the required contacts are not present within the provided XML element this will terminate deserialization and throw an exception. The annotation missing is reported in the exception.
- Parameters:
schema
- this is the schema for the class to be deserializedvalue
- this is the value used for the deserializationnode
- the XML element contact values are deserialized from- Returns:
- this returns the fully deserialized object graph
- Throws:
Exception
-
readPrimitive
ThisreadPrimitive
method will extract the text value from the node and replace any template variables before converting it to a primitive value. This uses aPrimitive
object to convert the node text to the resulting string. This will also respect all references on the node so cycle can be followed.- Parameters:
node
- this is the node to be converted to a primitivevalue
- this is the type for the object within the graph- Returns:
- this returns the primitive that has been deserialized
- Throws:
Exception
-
readResolve
ThereadResolve
method is used to determine if there is a resolution method which can be used to substitute the object deserialized. The resolve method is used when an object wishes to provide a substitute within the deserialized object graph. This acts as an equivalent to the Java Object SerializationreadResolve
method for the object deserialization.- Parameters:
node
- the XML element object provided as a replacementsource
- the type of the object that is being deserializedcaller
- this is used to invoke the callback methods- Returns:
- this returns a replacement for the deserialized object
- Throws:
Exception
-
read
Thisread
method performs deserialization of the XML schema class type by traversing the contacts and instantiating them using details from the provided XML element. Because this will convert a non-primitive value it delegates to other converters to perform deserialization of lists and primitives.If any of the required contacts are not present within the provided XML element this will terminate deserialization and throw an exception. The annotation missing is reported in the exception.
- Parameters:
node
- the XML element contact values are deserialized fromsource
- this type of the object that is to be deserializedschema
- this object visits the objects contacts- Throws:
Exception
-
readSection
ThisreadSection
method performs deserialization of a schema class type by traversing the contacts and instantiating them using details from the provided XML element. Because this will convert a non-primitive value it delegates to other converters to perform deserialization of lists and primitives.If any of the required contacts are not present within the provided XML element this will terminate deserialization and throw an exception. The annotation missing is reported in the exception.
- Parameters:
node
- the XML element contact values are deserialized fromsource
- this type of the object that is to be deserializedsection
- this is the XML section that contains the structure- Throws:
Exception
-
readVersion
This method is used to read the version from the provided input node. Once the version has been read it is used to determine how to deserialize the object. If the version is not the initial version then it is read in a manner that ignores excessive XML elements and attributes. Also none of the annotated fields or methods are required if the version is not the initial version.- Parameters:
node
- the XML element contact values are deserialized fromsource
- this object whose contacts are to be deserializedschema
- this object visits the objects contacts- Throws:
Exception
-
readVersion
This method is used to read the version from the provided input node. Once the version has been read it is used to determine how to deserialize the object. If the version is not the initial version then it is read in a manner that ignores excessive XML elements and attributes. Also none of the annotated fields or methods are required if the version is not the initial version.- Parameters:
node
- the XML element contact values are deserialized fromsource
- the type of the object that is being deserializedlabel
- this is the label used to read the version attribute- Throws:
Exception
-
readAttributes
ThisreadAttributes
method reads the attributes from the provided XML element. This will iterate over all attributes within the element and convert those attributes as primitives to contact values within the source object.Once all attributes within the XML element have been evaluated the
Schema
is checked to ensure that there are no required contacts annotated with theAttribute
that remain. If any required attribute remains an exception is thrown.- Parameters:
node
- this is the XML element to be evaluatedsource
- the type of the object that is being deserializedsection
- this is the XML section that contains the structure- Throws:
Exception
-
readElements
ThisreadElements
method reads the elements from the provided XML element. This will iterate over all elements within the element and convert those elements to primitives or composite objects depending on the contact annotation.Once all elements within the XML element have been evaluated the
Schema
is checked to ensure that there are no required contacts annotated with theElement
that remain. If any required element remains an exception is thrown.- Parameters:
node
- this is the XML element to be evaluatedsource
- the type of the object that is being deserializedsection
- the XML section that contains the structure- Throws:
Exception
-
readText
ThisreadText
method is used to read the text value from the XML element node specified. This will check the class schema to determine if aText
annotation was specified. If one was specified then the text within the XML element input node is used to populate the contact value.- Parameters:
node
- this is the XML element to acquire the text fromsource
- the type of the object that is being deserializedsection
- this is used to visit the element contacts- Throws:
Exception
-
readAttribute
private void readAttribute(InputNode node, Object source, Section section, LabelMap map) throws Exception ThisreadAttribute
method is used for deserialization of the provided node object using a delegate converter. This is typically anotherComposite
converter, or if the node is an attribute aPrimitive
converter. When the delegate converter has completed the deserialized value is assigned to the contact.- Parameters:
node
- this is the node that contains the contact valuesource
- the type of the object that is being deserializedsection
- this is the section to read the attribute frommap
- this is the map that contains the label objects- Throws:
Exception
-
readElement
private void readElement(InputNode node, Object source, Section section, LabelMap map) throws Exception ThisreadElement
method is used for deserialization of the provided node object using a delegate converter. This is typically anotherComposite
converter, or if the node is an attribute aPrimitive
converter. When the delegate converter has completed the deserialized value is assigned to the contact.- Parameters:
node
- this is the node that contains the contact valuesource
- the type of the object that is being deserializedsection
- this is the section to read the element frommap
- this is the map that contains the label objects- Throws:
Exception
-
readUnion
ThereadUnion
method is determine the unions for a particular label and set the value of that union to the same value as the label. This helps the deserialization process by ensuring once a union is read it is not replaced. This is also required when reading inline lists.- Parameters:
node
- this is the XML element to read the elements fromsource
- this is the instance to read the unions frommap
- this is the label map associated with the labellabel
- this is the label used to define the XML element- Throws:
Exception
-
readInstance
Thisread
method is used to perform deserialization of the provided node object using a delegate converter. This is typically anotherComposite
converter, or if the node is an attribute aPrimitive
converter. When the delegate converter has completed the deserialized value is assigned to the contact.- Parameters:
node
- this is the node that contains the contact valuesource
- the type of the object that is being deserializedlabel
- this is the label used to create the converter- Throws:
Exception
-
readVariable
ThisreadObject
method is used to perform the deserialization of the XML in to any original value. If there is no original value then this will do a read and instantiate a new value to deserialize in to. Reading in to the original ensures that existing lists or maps can be read in to.- Parameters:
node
- this is the node that contains the contact valuesource
- the source object to assign the contact value tolabel
- this is the label used to create the converter- Returns:
- this returns the original value deserialized in to
- Throws:
Exception
-
validate
This method checks to see if there are anyLabel
objects remaining in the provided map that are required. This is used when deserialization is performed to ensure the the XML element deserialized contains sufficient details to satisfy the XML schema class annotations. If there is a required label that remains it is reported within the exception thrown.- Parameters:
node
- this is the node that contains the contact valuemap
- this is the map to check for remaining labelssource
- this is the object that has been deserialized- Throws:
Exception
-
validate
Thisvalidate
method performs validation of the XML schema class type by traversing the contacts and validating them using details from the provided XML element. Because this will validate a non-primitive value it delegates to other converters to perform validation of lists, maps, and primitives.If any of the required contacts are not present within the given XML element this will terminate validation and throw an exception The annotation missing is reported in the exception.
-
validate
Thisvalidate
method performs validation of the XML schema class type by traversing the contacts and validating them using details from the provided XML element. Because this will validate a non-primitive value it delegates to other converters to perform validation of lists, maps, and primitives.If any of the required contacts are not present within the given XML element this will terminate validation and throw an exception The annotation missing is reported in the exception.
- Parameters:
node
- the XML element contact values are validated fromtype
- this is the type to validate against the input node- Throws:
Exception
-
validateSection
ThisvalidateSection
method performs validation of a schema class type by traversing the contacts and validating them using details from the provided XML element. Because this will validate a non-primitive value it delegates to other converters to perform validation of lists, maps, and primitives.If any of the required contacts are not present within the given XML element this will terminate validation and throw an exception The annotation missing is reported in the exception.
- Parameters:
node
- the XML element contact values are validated fromsection
- this is the section that defines the XML structure- Throws:
Exception
-
validateAttributes
ThisvalidateAttributes
method validates the attributes from the provided XML element. This will iterate over all attributes within the element and validate those attributes as primitives to contact values within the source object.Once all attributes within the XML element have been evaluated the
Schema
is checked to ensure that there are no required contacts annotated with theAttribute
that remain. If any required attribute remains an exception is thrown.- Parameters:
node
- this is the XML element to be validatedsection
- this is the section that defines the XML structure- Throws:
Exception
-
validateElements
ThisvalidateElements
method validates the elements from the provided XML element. This will iterate over all elements within the element and validate those elements as primitives or composite objects depending on the contact annotation.Once all elements within the XML element have been evaluated the
Schema
is checked to ensure that there are no required contacts annotated with theElement
that remain. If any required element remains an exception is thrown.- Parameters:
node
- this is the XML element to be evaluatedsection
- this is the section that defines the XML structure- Throws:
Exception
-
validateText
ThisvalidateText
method validates the text value from the XML element node specified. This will check the class schema to determine if aText
annotation was used. If one was specified then the text within the XML element input node is checked to determine if it is a valid entry.- Parameters:
node
- this is the XML element to acquire the text fromschema
- this is used to visit the element contacts- Throws:
Exception
-
validateAttribute
ThisvalidateAttribute
method performs a validation of the provided node object using a delegate converter. This is typically anotherComposite
converter, or if the node is an attribute aPrimitive
converter. If this fails validation then an exception is thrown to report the issue.- Parameters:
node
- this is the node that contains the contact valuesection
- this is the section to validate this attribute inmap
- this is the map that contains the label objects- Throws:
Exception
-
validateElement
ThisvalidateElement
method performs a validation of the provided node object using a delegate converter. This is typically anotherComposite
converter, or if the node is an attribute aPrimitive
converter. If this fails validation then an exception is thrown to report the issue.- Parameters:
node
- this is the node that contains the contact valuesection
- this is the section to validate this element inmap
- this is the map that contains the label objects- Throws:
Exception
-
validateUnion
ThevalidateUnion
method is determine the unions for a particular label and set the value of that union to the same value as the label. This helps the deserialization process by ensuring once a union is validated it is not replaced. This is also required when validating inline lists.- Parameters:
node
- this is the XML element to read the elements frommap
- this is the label map associated with the labellabel
- this is the label used to define the XML element- Throws:
Exception
-
validate
Thisvalidate
method is used to perform validation of the provided node object using a delegate converter. This is typically anotherComposite
converter, or if the node is an attribute aPrimitive
converter. If this fails validation then an exception is thrown to report the issue.- Parameters:
node
- this is the node that contains the contact valuelabel
- this is the label used to create the converter- Throws:
Exception
-
validate
This method checks to see if there are anyLabel
objects remaining in the provided map that are required. This is used when validation is performed to ensure the the XML element validated contains sufficient details to satisfy the XML schema class annotations. If there is a required label that remains it is reported within the exception thrown.- Parameters:
node
- this is the node that contains the composite datamap
- this contains the converters to perform validation- Throws:
Exception
-
write
Thiswrite
method is used to perform serialization of the given source object. Serialization is performed by appending elements and attributes from the source object to the provided XML element object. How the objects contacts are serialized is determined by the XML schema class that the source object is an instance of. If a required contact is null an exception is thrown. -
write
Thiswrite
method is used to perform serialization of the given source object. Serialization is performed by appending elements and attributes from the source object to the provided XML element object. How the objects contacts are serialized is determined by the XML schema class that the source object is an instance of. If a required contact is null an exception is thrown.- Parameters:
node
- the XML element the object is to be serialized tosource
- this is the source object to be serializedschema
- this is used to track the referenced contacts- Throws:
Exception
-
writeSection
ThiswriteSection
method is used to perform serialization of the given source object. Serialization is performed by appending elements and attributes from the source object to the provided XML element object. How the objects contacts are serialized is determined by the XML schema class that the source object is an instance of. If a required contact is null an exception is thrown.- Parameters:
node
- the XML element the object is to be serialized tosource
- this is the source object to be serializedsection
- this is the section that defines the XML structure- Throws:
Exception
-
writeVersion
This method is used to write the version attribute. A version is written only if it is not the initial version or if it required. The version is used to determine how to deserialize the XML. If the version is different from the expected version then it allows the object to be deserialized in a manner that does not require any attributes or elements, and unmatched nodes are ignored.- Parameters:
node
- this is the node to read the version attribute fromsource
- this is the source object that is to be writtenschema
- this is the schema that contains the version- Throws:
Exception
-
writeAttributes
This write method is used to write all the attribute contacts from the provided source object to the XML element. This visits all the contacts marked with theAttribute
annotation in the source object. All annotated contacts are written as attributes to the XML element. This will throw an exception if a required contact within the source object is null.- Parameters:
node
- this is the XML element to write attributes tosource
- this is the source object to be serializedsection
- this is the section that defines the XML structure- Throws:
Exception
-
writeElements
This write method is used to write all the element contacts from the provided source object to the XML element. This visits all the contacts marked with theElement
annotation in the source object. All annotated contacts are written as children to the XML element. This will throw an exception if a required contact within the source object is null.- Parameters:
node
- this is the XML element to write elements tosource
- this is the source object to be serializedsection
- this is the section that defines the XML structure- Throws:
Exception
-
writeUnion
private void writeUnion(OutputNode node, Object source, Section section, Label label) throws Exception ThewriteUnion
method is determine the unions for a particular label and set the value of that union to the same value as the label. This helps the serialization process by ensuring once a union is written it is not replaced. This is also required when writing inline lists.- Parameters:
node
- this is the XML element to write elements tosource
- this is the source object to be serializedsection
- this is the section associated with the labellabel
- this is the label used to define the XML element- Throws:
Exception
-
writeReplace
ThewriteReplace
method is used to replace an object before it is serialized. This is used so that an object can give a substitute to be written to the XML document in the event that the actual object is not suitable or desired for serialization. This acts as an equivalent to the Java Object SerializationwriteReplace
method for the object serialization.- Parameters:
source
- this is the source object that is to be replaced- Returns:
- this returns the object to use as a replacement value
- Throws:
Exception
-
writeText
This write method is used to write the text contact from the provided source object to the XML element. This takes the text value from the source object and writes it to the single contact marked with theText
annotation. If the value is null and the contact value is required an exception is thrown.- Parameters:
node
- this is the XML element to write text value tosource
- this is the source object to be serializedsection
- this is used to track the referenced elements- Throws:
Exception
-
writeAttribute
This write method is used to set the value of the provided object as an attribute to the XML element. This will acquire the string value of the object usingtoString
only if the object provided is not an enumerated type. If the object is an enumerated type then theEnum.name
method is used.- Parameters:
node
- this is the XML element to write the attribute tovalue
- this is the value to be set as an attributelabel
- the label that contains the contact details- Throws:
Exception
-
writeElement
This write method is used to append the provided object as an element to the given XML element object. This will recursively write the contacts from the provided object as elements. This is done using theConverter
acquired from the contact label. If the type of the contact value is not of the same type as the XML schema class a "class" attribute is appended.If the element being written is inline, then this will not check to see if there is a "class" attribute specifying the name of the class. This is because inline elements do not have an outer class and thus could never have an override.
- Parameters:
node
- this is the XML element to write the element tovalue
- this is the value to be set as an elementlabel
- the label that contains the contact details- Throws:
Exception
-
writeElement
This is used write the element specified using the specified converter. Writing the value using the specified converter will result in the node being populated with the elements, attributes, and text values to the provided node. If there is a problem writing the value using the converter an exception is thrown.- Parameters:
node
- this is the node that the value is to be written tovalue
- this is the value that is to be writtenconvert
- this is the converter used to perform writing- Throws:
Exception
-
writeNamespaces
This is used to applyDecorator
objects to the provided node before it is written. Application of decorations before the node is written allows namespaces and comments to be applied to the node. Decorations such as this do not affect the overall structure of the XML that is written.- Parameters:
node
- this is the node that decorations are applied totype
- this is the type to acquire the decoration forlabel
- this contains the primary decorator to be used- Throws:
Exception
-
writeText
This write method is used to set the value of the provided object as the text for the XML element. This will acquire the string value of the object usingtoString
only if the object provided is not an enumerated type. If the object is an enumerated type then theEnum.name
method is used.- Parameters:
node
- this is the XML element to write the text value tovalue
- this is the value to set as the XML element textlabel
- the label that contains the contact details- Throws:
Exception
-
isOverridden
This is used to determine whether the specified value has been overridden by the strategy. If the item has been overridden then no more serialization is require for that value, this is effectively telling the serialization process to stop writing.- Parameters:
node
- the node that a potential override is written tovalue
- this is the object instance to be serializedtype
- this is the type of the object to be serialized- Returns:
- returns true if the strategy overrides the object
- Throws:
Exception
-