Package org.simpleframework.xml.core
Class CompositeKey
- java.lang.Object
-
- org.simpleframework.xml.core.CompositeKey
-
- All Implemented Interfaces:
Converter
class CompositeKey extends java.lang.Object implements Converter
TheCompositeKey
object is used to convert an object to an from an XML element. This accepts only composite objects and will throw an exception if theElementMap
annotation is configured to have an attribute key. If a key name is given for the annotation then this will act as a parent element to the resulting XML element for the composite object.- See Also:
ElementMap
-
-
Field Summary
Fields Modifier and Type Field Description private Context
context
This is the context used to support the serialization process.private Entry
entry
This is the entry object used to provide configuration details.private Traverser
root
This is the traverser used to read and write the composite key.private Style
style
This is the style used to style the names used for the XML.private Type
type
This represents the type of object the key is written as.
-
Constructor Summary
Constructors Constructor Description CompositeKey(Context context, Entry entry, Type type)
Constructor for theCompositeKey
object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
read(InputNode node)
This method is used to read the key value from the node.java.lang.Object
read(InputNode node, java.lang.Object value)
This method is used to read the key value from the node.private java.lang.Object
read(InputNode node, java.lang.String key)
This method is used to read the key value from the node.boolean
validate(InputNode node)
This method is used to read the key value from the node.private boolean
validate(InputNode node, java.lang.String key)
This method is used to read the key value from the node.void
write(OutputNode node, java.lang.Object item)
This method is used to write the value to the specified node.
-
-
-
Field Detail
-
context
private final Context context
This is the context used to support the serialization process.
-
root
private final Traverser root
This is the traverser used to read and write the composite key.
-
style
private final Style style
This is the style used to style the names used for the XML.
-
entry
private final Entry entry
This is the entry object used to provide configuration details.
-
type
private final Type type
This represents the type of object the key is written as.
-
-
Constructor Detail
-
CompositeKey
public CompositeKey(Context context, Entry entry, Type type) throws java.lang.Exception
Constructor for theCompositeKey
object. This will create an object capable of reading an writing composite keys from an XML element. This also allows a parent element to be created to wrap the key object if desired.- Parameters:
context
- this is the root context for the serializationentry
- this is the entry object used for configurationtype
- this is the type of object the key represents- Throws:
java.lang.Exception
-
-
Method Detail
-
read
public java.lang.Object read(InputNode node) throws java.lang.Exception
This method is used to read the key value from the node. The value read from the node is resolved using the template filter. If the key value can not be found according to the annotation attributes then null is assumed and returned.
-
read
public java.lang.Object read(InputNode node, java.lang.Object value) throws java.lang.Exception
This method is used to read the key value from the node. The value read from the node is resolved using the template filter. If the key value can not be found according to the annotation attributes then null is assumed and returned.
-
read
private java.lang.Object read(InputNode node, java.lang.String key) throws java.lang.Exception
This method is used to read the key value from the node. The value read from the node is resolved using the template filter. If the key value can not be found according to the annotation attributes then null is assumed and returned.- Parameters:
node
- this is the node to read the key value fromkey
- this is the name of the key wrapper XML element- Returns:
- this returns the value deserialized from the node
- Throws:
java.lang.Exception
-
validate
public boolean validate(InputNode node) throws java.lang.Exception
This method is used to read the key value from the node. The value read from the node is resolved using the template filter. If the key value can not be found according to the annotation attributes then null is assumed and the node is valid.
-
validate
private boolean validate(InputNode node, java.lang.String key) throws java.lang.Exception
This method is used to read the key value from the node. The value read from the node is resolved using the template filter. If the key value can not be found according to the annotation attributes then null is assumed and the node is valid.- Parameters:
node
- this is the node to read the key value fromkey
- this is the name of the key wrapper XML element- Returns:
- this returns the value deserialized from the node
- Throws:
java.lang.Exception
-
write
public void write(OutputNode node, java.lang.Object item) throws java.lang.Exception
This method is used to write the value to the specified node. The value written to the node must be a composite object and if the element map annotation is configured to have a key attribute then this method will throw an exception.
-
-