Package org.simpleframework.xml.core
Class CompositeMapUnion
java.lang.Object
org.simpleframework.xml.core.CompositeMapUnion
The
CompositeMapUnion
object is used to act as a
mediator for multiple converters associated with a particular union
group. This will basically determine which Converter
should be delegated to based on either the XML element name being read
or the type of the instance object being written. Selection of the
converter is done by consulting the Group
of labels
representing the union declaration.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Context
This is the current context used for the serialization.private final LabelMap
This contains the labels in the union group keyed by name.private final Group
This contains the group of labels associated with the union.private final Expression
This is the path expression used to represent this union.private final Style
This is this style associated with the serialization context.private final Type
This is the type field or method annotated as a union. -
Constructor Summary
ConstructorsConstructorDescriptionCompositeMapUnion
(Context context, Group group, Expression path, Type type) Constructor for theCompositeMapUnion
object. -
Method Summary
Modifier and TypeMethodDescriptionTheread
method uses the name of the XML element to select a converter to be used to read the instance.Theread
method uses the name of the XML element to select a converter to be used to read the instance.boolean
Thevalidate
method is used to validate the XML element provided using an associated class schema.void
write
(OutputNode node, Object source) Thewrite
method uses the name of the XML element to select a converter to be used to write the instance.private void
write
(OutputNode node, Object key, Object item, Label label) Thewrite
method uses the name of the XML element to select a converter to be used to write the instance.private void
write
(OutputNode node, Map map) Thewrite
method uses the name of the XML element to select a converter to be used to write the instance.
-
Field Details
-
elements
This contains the labels in the union group keyed by name. -
path
This is the path expression used to represent this union. -
context
This is the current context used for the serialization. -
group
This contains the group of labels associated with the union. -
style
This is this style associated with the serialization context. -
type
This is the type field or method annotated as a union.
-
-
Constructor Details
-
CompositeMapUnion
Constructor for theCompositeMapUnion
object. This is used to create a converter that delegates to other associated converters within the union group depending on the XML element name being read or the instance type that is being written.- Parameters:
context
- this is the context used for the serializationgroup
- this is the union group used for delegationpath
- this is the path expression representing this uniontype
- this is the annotated field or method to be used- Throws:
Exception
-
-
Method Details
-
read
Theread
method uses the name of the XML element to select a converter to be used to read the instance. Selection of the converter is done by looking up the associated label from the union group using the element name. Once the converter has been selected it is used to read the instance. -
read
Theread
method uses the name of the XML element to select a converter to be used to read the instance. Selection of the converter is done by looking up the associated label from the union group using the element name. Once the converter has been selected it is used to read the instance.- Specified by:
read
in interfaceConverter
- Specified by:
read
in interfaceRepeater
- Parameters:
node
- this is the XML element used to read the instancevalue
- this is the value that is to be repeated- Returns:
- this is the instance that has been read by this
- Throws:
Exception
- if a deserialized type cannot be instantiated
-
validate
Thevalidate
method is used to validate the XML element provided using an associated class schema. The schema is selected using the name of the XML element to acquire the associated converter. Once the converter has been acquired it is delegated to and validated against it. -
write
Thewrite
method uses the name of the XML element to select a converter to be used to write the instance. Selection of the converter is done by looking up the associated label from the union group using the instance type. Once the converter has been selected it is used to write the instance. -
write
Thewrite
method uses the name of the XML element to select a converter to be used to write the instance. Selection of the converter is done by looking up the associated label from the union group using the instance type. Once the converter has been selected it is used to write the instance.- Parameters:
node
- this is the XML element used to write the instancemap
- this is the value that is to be written- Throws:
Exception
-
write
Thewrite
method uses the name of the XML element to select a converter to be used to write the instance. Selection of the converter is done by looking up the associated label from the union group using the instance type. Once the converter has been selected it is used to write the instance.- Parameters:
node
- this is the XML element used to write the instancekey
- this is the key associated with the item to writeitem
- this is the value associated with the item to writelabel
- this is the label to used to acquire the converter- Throws:
Exception
-