Package org.simpleframework.xml.core
Class PrimitiveList
- java.lang.Object
-
- org.simpleframework.xml.core.PrimitiveList
-
- All Implemented Interfaces:
Converter
class PrimitiveList extends java.lang.Object implements Converter
ThePrimitiveListobject is used to convert an element list to a collection of element entries. This in effect performs a serialization and deserialization of primitive entry elements for the collection object. On serialization each objects type must be checked against the XML annotation entry so that it is serialized in a form that can be deserialized.<list> <entry>example one</entry> <entry>example two</entry> <entry>example three</entry> <entry>example four</entry> </list>For the above XML element list the elemententryis used to wrap the primitive string value. This wrapping XML element is configurable and defaults to the lower case string for the name of the class it represents. So, for example, if the primitive type is anintthe enclosing element will be called int.- See Also:
Primitive,ElementList
-
-
Field Summary
Fields Modifier and Type Field Description private TypeentryThis is the type of object that will be held within the list.private CollectionFactoryfactoryThis factory is used to create a suitable collection list.private java.lang.StringparentThis is the name that each array element is wrapped with.private PrimitiverootThis performs the serialization of the primitive element.
-
Constructor Summary
Constructors Constructor Description PrimitiveList(Context context, Type type, Type entry, java.lang.String parent)Constructor for thePrimitiveListobject.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private booleanisOverridden(OutputNode node, java.lang.Object value)This is used to determine whether the specified value has been overridden by the strategy.private java.lang.Objectpopulate(InputNode node, java.lang.Object result)Thispopulatemethod wll read the XML element list from the provided node and deserialize its children as entry types.java.lang.Objectread(InputNode node)Thisreadmethod will read the XML element list from the provided node and deserialize its children as entry types.java.lang.Objectread(InputNode node, java.lang.Object result)Thisreadmethod will read the XML element map from the provided node and deserialize its children as entry types.booleanvalidate(InputNode node)Thisvalidatemethod wll validate the XML element list from the provided node and validate its children as entry types.private booleanvalidate(InputNode node, java.lang.Class type)Thisvalidatemethod will validate the XML element list from the provided node and validate its children as entry types.voidwrite(OutputNode node, java.lang.Object source)Thiswritemethod will write the specified object to the given XML element as as list entries.
-
-
-
Field Detail
-
factory
private final CollectionFactory factory
This factory is used to create a suitable collection list.
-
root
private final Primitive root
This performs the serialization of the primitive element.
-
parent
private final java.lang.String parent
This is the name that each array element is wrapped with.
-
entry
private final Type entry
This is the type of object that will be held within the list.
-
-
Constructor Detail
-
PrimitiveList
public PrimitiveList(Context context, Type type, Type entry, java.lang.String parent)
Constructor for thePrimitiveListobject. This is given the list type and entry type to be used. The list type is theCollectionimplementation that deserialized entry objects are inserted into.- Parameters:
context- this is the context object used for serializationtype- this is the collection type for the list usedentry- the primitive type to be stored within the listparent- this is the name to wrap the list element with
-
-
Method Detail
-
read
public java.lang.Object read(InputNode node) throws java.lang.Exception
Thisreadmethod will read the XML element list from the provided node and deserialize its children as entry types. This will deserialize each entry type as a primitive value. In order to do this the parent string provided forms the element.
-
read
public java.lang.Object read(InputNode node, java.lang.Object result) throws java.lang.Exception
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.- Specified by:
readin interfaceConverter- 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:
java.lang.Exception- if a deserialized type cannot be instantiated
-
populate
private java.lang.Object populate(InputNode node, java.lang.Object result) throws java.lang.Exception
Thispopulatemethod wll read the XML element list from the provided node and deserialize its children as entry types. This will deserialize each entry type as a primitive value. In order to do this the parent string provided forms the element.- Parameters:
node- this is the XML element that is to be deserializedresult- this is the collection that is to be populated- Returns:
- this returns the item to attach to the object contact
- Throws:
java.lang.Exception
-
validate
public boolean validate(InputNode node) throws java.lang.Exception
Thisvalidatemethod wll validate the XML element list from the provided node and validate its children as entry types. This will validate each entry type as a primitive value. In order to do this the parent string provided forms the element.
-
validate
private boolean validate(InputNode node, java.lang.Class type) throws java.lang.Exception
Thisvalidatemethod will validate the XML element list from the provided node and validate its children as entry types. This will validate each entry type as a primitive value. In order to do this the parent string provided forms the element.- Parameters:
node- this is the XML element that is to be deserializedtype- this is the type to validate against the input node- Returns:
- true if the element matches the XML schema class given
- Throws:
java.lang.Exception
-
write
public void write(OutputNode node, java.lang.Object source) throws java.lang.Exception
Thiswritemethod will write the specified object to the given XML element as as list entries. Each entry within the given list must be assignable to the given primitive type. This will deserialize each entry type as a primitive value. In order to do this the parent string provided forms the element.
-
isOverridden
private boolean isOverridden(OutputNode node, java.lang.Object value) throws java.lang.Exception
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 serialized- Returns:
- returns true if the strategy overrides the object
- Throws:
java.lang.Exception
-
-