Package org.simpleframework.xml.core
Class PrimitiveInlineList
- java.lang.Object
-
- org.simpleframework.xml.core.PrimitiveInlineList
-
class PrimitiveInlineList extends java.lang.Object implements Repeater
ThePrimitiveInlineListobject is used to convert a group of elements in to a collection of element entries. This is used when a containing element for a list is not required. It extracts the elements by matching elements to name of the type that the annotated field or method requires. This enables these element entries to exist as siblings to other objects within the object. One restriction is that theRootannotation for each of the types within the list must be the same.<entry>example one</entry> <entry>example two</entry> <entry>example three</entry> <entry>example four</entry>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 in the list.private CollectionFactoryfactoryThis factory is used to create a suitable collection list.private java.lang.StringparentThis is the name that each list element is wrapped with.private PrimitiverootThis performs the traversal used for object serialization.
-
Constructor Summary
Constructors Constructor Description PrimitiveInlineList(Context context, Type type, Type entry, java.lang.String parent)Constructor for thePrimitiveInlineListobject.
-
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.java.lang.Objectread(InputNode node)Thisreadmethod wll read the XML element list from the provided node and deserialize its children as entry types.java.lang.Objectread(InputNode node, java.lang.Object value)Thisreadmethod wll read the XML element list from the provided node and deserialize its children as entry types.private java.lang.Objectread(InputNode node, java.util.Collection list)Thisreadmethod wll read the XML element list from the provided node and deserialize its children as entry types.booleanvalidate(InputNode node)Thisreadmethod wll read the XML element list from the provided node and deserialize 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.private voidwrite(OutputNode node, java.lang.Object source, Mode mode)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 traversal used for object serialization.
-
parent
private final java.lang.String parent
This is the name that each list element is wrapped with.
-
entry
private final Type entry
This is the type of object that will be held in the list.
-
-
Constructor Detail
-
PrimitiveInlineList
public PrimitiveInlineList(Context context, Type type, Type entry, java.lang.String parent)
Constructor for thePrimitiveInlineListobject. This is given the list type and entry type to be used. The list type is theCollectionimplementation that is used to collect the deserialized entry objects from the XML source.- Parameters:
context- this is the context object used for serializationtype- this is the collection type for the list usedentry- the entry 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 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.
-
read
public java.lang.Object read(InputNode node, java.lang.Object value) throws java.lang.Exception
Thisreadmethod 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.- Specified by:
readin interfaceConverter- Specified by:
readin interfaceRepeater- Parameters:
node- this is the XML element that is to be deserializedvalue- this is the value to read the objects in to- Returns:
- this returns the item to attach to the object contact
- Throws:
java.lang.Exception- if a deserialized type cannot be instantiated
-
read
private java.lang.Object read(InputNode node, java.util.Collection list) throws java.lang.Exception
Thisreadmethod 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 deserializedlist- 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
Thisreadmethod 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.
-
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.
-
write
private void write(OutputNode node, java.lang.Object source, Mode mode) 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.- Parameters:
node- this is the parent output node to write values tosource- this is the source collection to be serializedmode- this is used to determine whether to output CDATA- Throws:
java.lang.Exception
-
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
-
-