public class TreeStrategy extends Object implements Strategy
TreeStrategy
object is used to provide a simple
strategy for handling object graphs in a tree structure. This does
not resolve cycles in the object graph. This will make use of the
specified class attribute to resolve the class to use for a given
element during the deserialization process. For the serialization
process the "class" attribute will be added to the element specified.
If there is a need to use an attribute name other than "class" then
the name of the attribute to use can be specified.CycleStrategy
Constructor and Description |
---|
TreeStrategy()
Constructor for the
TreeStrategy object. |
TreeStrategy(String label,
String length)
Constructor for the
TreeStrategy object. |
Modifier and Type | Method and Description |
---|---|
Value |
read(Type type,
NodeMap node,
Map map)
This is used to resolve and load a class for the given element.
|
boolean |
write(Type type,
Object value,
NodeMap node,
Map map)
This is used to attach a attribute to the provided element
that is used to identify the class.
|
public TreeStrategy()
TreeStrategy
object. This
is used to create a strategy that can resolve and load class
objects for deserialization using a "class" attribute. Also
for serialization this will add the appropriate "class" value.public TreeStrategy(String label, String length)
TreeStrategy
object. This
is used to create a strategy that can resolve and load class
objects for deserialization using the specified attribute.
The attribute value can be any legal XML attribute name.label
- this is the name of the attribute to uselength
- this is used to determine the array lengthpublic Value read(Type type, NodeMap node, Map map) throws Exception
read
in interface Strategy
type
- this is the type of the XML element expectednode
- this is the element used to resolve an overridemap
- this is used to maintain contextual informationException
- thrown if the class cannot be resolvedpublic boolean write(Type type, Object value, NodeMap node, Map map)
write
in interface Strategy
type
- this is the declared class for the field usedvalue
- this is the instance variable being serializednode
- this is the element used to represent the valuemap
- this is used to maintain contextual information