Class RegistryStrategy
java.lang.Object
org.simpleframework.xml.convert.RegistryStrategy
- All Implemented Interfaces:
Strategy
The
RegistryStrategy object is used to intercept
the serialization process and delegate to custom converters. The
custom converters are resolved from a Registry
object, which is provided to the constructor. If there is no
binding for a particular object then serialization is delegated
to an internal strategy. All converters resolved by this are
instantiated once and cached internally for performance.
By default the TreeStrategy is used to perform the
normal serialization process should there be no class binding
specifying a converter to use. However, any implementation can
be used, including the CycleStrategy, which handles
cycles in the object graph. To specify the internal strategy to
use it can be provided in the constructor.
- Author:
- Niall Gallagher
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionRegistryStrategy(Registry registry) Constructor for theRegistryStrategyobject.RegistryStrategy(Registry registry, Strategy strategy) Constructor for theRegistryStrategyobject. -
Method Summary
Modifier and TypeMethodDescriptionThis is used to read theValuewhich will be used to represent the deserialized object.booleanThis is used to serialize a representation of the object value provided.
-
Constructor Details
-
RegistryStrategy
Constructor for theRegistryStrategyobject. This is used to create a strategy that will intercept the normal serialization process by searching for bindings within the providedRegistryinstance.- Parameters:
registry- this is the registry instance with bindings
-
RegistryStrategy
Constructor for theRegistryStrategyobject. This is used to create a strategy that will intercept the normal serialization process by searching for bindings within the providedRegistryinstance.- Parameters:
registry- this is the registry instance with bindingsstrategy- this is the strategy to delegate to
-
-
Method Details
-
read
This is used to read theValuewhich will be used to represent the deserialized object. If there is an binding present then the value will contain an object instance. If it does not then it is up to the internal strategy to determine what the returned value contains.- Specified by:
readin interfaceStrategy- Parameters:
type- this is the type that represents a method or fieldnode- this is the node representing the XML elementmap- this is the session map that contain variables- Returns:
- the value representing the deserialized value
- Throws:
Exception- thrown if the class cannot be resolved
-
write
This is used to serialize a representation of the object value provided. If there is aRegistrybinding present for the provided type then this will use the converter specified to serialize a representation of the object. If however there is no binding present then this will delegate to the internal strategy. This returns true if the serialization has completed.- Specified by:
writein interfaceStrategy- Parameters:
type- this is the type that represents the field or methodvalue- this is the object instance to be serializednode- this is the XML element to be serialized tomap- this is the session map used by the serializer- Returns:
- this returns true if it was serialized, false otherwise
- Throws:
Exception- thrown if the details cannot be set
-