Class CompositeMap
java.lang.Object
org.simpleframework.xml.core.CompositeMap
- All Implemented Interfaces:
Converter
The
CompositeMap is used to serialize and deserialize
maps to and from a source XML document. The structure of the map in
the XML format is determined by the annotation. Keys can be either
attributes or elements, and values can be inline. This can perform
serialization and deserialization of the key and value objects
whether the object types are primitive or composite.
<map>
<entry key='1'>
<value>one</value>
</entry>
<entry key='2'>
<value>two</value>
</entry>
</map>
For the above XML element map the element entry is
used to wrap the key and value such that they can be grouped. This
element does not represent any real object. The names of each of
the XML elements serialized and deserialized can be configured.- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final EntryThe entry object contains the details on how to write the map.private final MapFactoryThe factory used to create suitable map object instances.private final ConverterThis is the name of the entry wrapping the key and value.private final StyleThis is the style used to style the names used for the XML.private final ConverterThis is the type that the value objects are instances of. -
Constructor Summary
ConstructorsConstructorDescriptionCompositeMap(Context context, Entry entry, Type type) Constructor for theCompositeMapobject. -
Method Summary
Modifier and TypeMethodDescriptionprivate ObjectThispopulatemethod will read the XML element map from the provided node and deserialize its children as entry types.Thisreadmethod will read the XML element map from the provided node and deserialize its children as entry types.Thisreadmethod will read the XML element map from the provided node and deserialize its children as entry types.booleanThisvalidatemethod will validate the XML element map from the provided node and validate its children as entry types.private booleanThisvalidatemethod will validate the XML element map from the provided node and validate its children as entry types.voidwrite(OutputNode node, Object source) Thiswritemethod will write the key value pairs within the provided map to the specified XML node.
-
Field Details
-
factory
The factory used to create suitable map object instances. -
value
This is the type that the value objects are instances of. -
key
This is the name of the entry wrapping the key and value. -
style
This is the style used to style the names used for the XML. -
entry
The entry object contains the details on how to write the map.
-
-
Constructor Details
-
CompositeMap
Constructor for theCompositeMapobject. This will create a converter that is capable of writing map objects to and from XML. The resulting XML is configured by an annotation such that key values can attributes and values can be inline.- Parameters:
context- this is the root context for the serializationentry- this provides configuration for the resulting XMLtype- this is the map type that is to be converted- Throws:
Exception
-
-
Method Details
-
read
Thisreadmethod will read the XML element map from the provided node and deserialize its children as entry types. Each entry type must contain a key and value so that the entry can be inserted in to the map as a pair. If either the key or value is composite it is read as a root object, which means itsRootannotation must be present and the name of the object element must match that root element name. -
read
Thisreadmethod will read the XML element map from the provided node and deserialize its children as entry types. Each entry type must contain a key and value so that the entry can be inserted in to the map as a pair. If either the key or value is composite it is read as a root object, which means itsRootannotation must be present and the name of the object element must match that root element name. -
populate
Thispopulatemethod will read the XML element map from the provided node and deserialize its children as entry types. Each entry type must contain a key and value so that the entry can be inserted in to the map as a pair. If either the key or value is composite it is read as a root object, which means itsRootannotation must be present and the name of the object element must match that root element name.- Parameters:
node- this is the XML element that is to be deserializedresult- this is the map object that is to be populated- Returns:
- this returns the item to attach to the object contact
- Throws:
Exception
-
validate
Thisvalidatemethod will validate the XML element map from the provided node and validate its children as entry types. Each entry type must contain a key and value so that the entry can be inserted in to the map as a pair. If either the key or value is composite it is read as a root object, which means itsRootannotation must be present and the name of the object element must match that root element name. -
validate
Thisvalidatemethod will validate the XML element map from the provided node and validate its children as entry types. Each entry type must contain a key and value so that the entry can be inserted in to the map as a pair. If either the key or value is composite it is read as a root object, which means itsRootannotation must be present and the name of the object element must match that root element name.- Parameters:
node- this is the XML element that is to be validatetype- this is the type to validate the input node against- Returns:
- true if the element matches the XML schema class given
- Throws:
Exception
-
write
Thiswritemethod will write the key value pairs within the provided map to the specified XML node. This will write each entry type must contain a key and value so that the entry can be deserialized in to the map as a pair. If the key or value object is composite it is read as a root object so itsRootannotation must be present.
-