net.sf.xsnapshot.transformers
Class CloneTransformer

java.lang.Object
  extended bynet.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

Constructor Summary
CloneTransformer()
           
 
Method Summary
 Object transform(Class returnClass, Object objectToTransform, TransformerArgs args, TransformContext context)
          Simply returns a clone of objectToTransform.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CloneTransformer

public CloneTransformer()
Method Detail

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)