net.sf.xsnapshot.transformers
Class CloneTransformer
java.lang.Object
net.sf.xsnapshot.transformers.CloneTransformer
- All Implemented Interfaces:
- Transformer
- public class CloneTransformer
- extends Object
- implements Transformer
Transformer that simply clones the value it is passed.
- Author:
- Daniel Kokotov
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CloneTransformer
public CloneTransformer()
transform
public Object transform(Class returnClass,
Object objectToTransform,
TransformerArgs args,
TransformContext context)
- Simply returns a clone of objectToTransform. The returnClass
argument as well as the transformerArgs are ignored.
- Specified by:
transform
in interface Transformer
- Parameters:
returnClass
- the class of the object that should be returned
by this method. If not null, returned object must be an instance of this class,
ie returnObject instanceof returnClass must be true.
May be null, in which case the converter is not constrained
in the class of the object it returns. Implementations may impose more
restrictive semantics on this parameter.objectToTransform
- the object that should be transformed. If the
original property to which the transormation is being applied
was primitive-valued, then this will be the java.lang equivalent of
the primitive value.args
- the arguments for transformation. these come from the
{model,snapshot}-converter-arg-{1-9} attributes. For each arg, if the
value is null, then no arg at that index was specified. It is up to
to implementations to impose more precise semantics on this parameter.context
- the TransformContext for the overall transformation in progress
- Returns:
- a clone of objectToTransform
- Throws:
IllegalArgumentException
- if the objectToTransform does not implement Cloneable- See Also:
Transformer.transform(java.lang.Class, java.lang.Object, net.sf.xsnapshot.TransformerArgs, net.sf.xsnapshot.TransformContext)