net.sf.morph.transform.copiers
Class ImmutableComponentArrayCopier
java.lang.Object
net.sf.morph.transform.transformers.BaseTransformer
net.sf.morph.transform.copiers.ImmutableComponentArrayCopier
- All Implemented Interfaces:
- net.sf.composite.Component, Converter, Copier, DecoratedConverter, DecoratedCopier, DecoratedTransformer, ExplicitTransformer, Transformer
public class ImmutableComponentArrayCopier
- extends BaseTransformer
- implements DecoratedConverter, DecoratedCopier, ExplicitTransformer
Copies arrays of matching immutable component types using System.arraycopy.
- Since:
- Morph 1.1
- Author:
- mbenson
Method Summary |
protected java.lang.Object |
convertImpl(java.lang.Class destinationClass,
java.lang.Object source,
java.util.Locale locale)
The implementation of the convert method, which may omit
the invalid argument checks already performed by this base class. |
protected void |
copyImpl(java.lang.Object destination,
java.lang.Object source,
java.util.Locale locale,
java.lang.Integer preferredTransformationType)
Implementation of the copy method. |
protected java.lang.Class[] |
getDestinationClassesImpl()
Transformer.getDestinationClasses() implementation template method. |
protected java.lang.Class[] |
getSourceClassesImpl()
Transformer.getSourceClasses() implementation template method. |
protected boolean |
isPerformingLogging()
Indicates if calls to the main transformation methods (convert, copy)
will cause a log message to be recorded |
protected boolean |
isTransformableImpl(java.lang.Class destinationType,
java.lang.Class sourceType)
Default implementation for
Transformer#isTransformable(Class, Class) that assumes that each
source type can be converted into each destination type. |
Methods inherited from class net.sf.morph.transform.transformers.BaseTransformer |
clone, convert, convert, copy, copy, createDefaultReflector, createNewInstance, createNewInstanceImpl, createReusableSource, equals, equals, equalsUnidirectionalTest, getDestinationClasses, getInstantiatingReflector, getLocale, getLog, getNestedTransformer, getReflector, getReflector, getSourceClasses, getTransformableCallCache, getTransformerName, initialize, initializeImpl, isAutomaticallyHandlingNulls, isCachingIsTransformableCalls, isImpreciseTransformation, isImpreciseTransformationImpl, isInitialized, isTransformable, isWrappingRuntimeExceptions, setCachingIsTransformableCalls, setDestinationClasses, setInitialized, setLog, setNestedTransformer, setReflector, setSourceClasses, setTransformableCallCache, setTransformerName, toString |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface net.sf.morph.transform.Copier |
copy |
ImmutableComponentArrayCopier
public ImmutableComponentArrayCopier()
getDestinationClassesImpl
protected java.lang.Class[] getDestinationClassesImpl()
throws java.lang.Exception
Transformer.getDestinationClasses()
implementation template method.
- Specified by:
getDestinationClassesImpl
in class BaseTransformer
- Returns:
- Class[]
- Throws:
java.lang.Exception
- See Also:
BaseTransformer.getDestinationClassesImpl()
getSourceClassesImpl
protected java.lang.Class[] getSourceClassesImpl()
throws java.lang.Exception
Transformer.getSourceClasses()
implementation template method.
- Specified by:
getSourceClassesImpl
in class BaseTransformer
- Returns:
- Class[]
- Throws:
java.lang.Exception
- See Also:
BaseTransformer.getSourceClassesImpl()
isTransformableImpl
protected boolean isTransformableImpl(java.lang.Class destinationType,
java.lang.Class sourceType)
throws java.lang.Exception
- Default implementation for
Transformer#isTransformable(Class, Class)
that assumes that each
source type can be converted into each destination type.
- Overrides:
isTransformableImpl
in class BaseTransformer
- Parameters:
destinationType
- the destination type to testsourceType
- the source type to test
- Returns:
- whether the destination type is transformable to the source
type
- Throws:
TransformationException
- if it could not be determined if sourceType
is transformable into destinationType
java.lang.Exception
- See Also:
BaseTransformer.isTransformableImpl(java.lang.Class, java.lang.Class)
convertImpl
protected java.lang.Object convertImpl(java.lang.Class destinationClass,
java.lang.Object source,
java.util.Locale locale)
throws java.lang.Exception
- The implementation of the
convert
method, which may omit
the invalid argument checks already performed by this base class. By
default, this method creates a new instance of the destinationClass and
copies information from the source to the destination. This
implementation should be fine as-is for Copiers, but Converters will need
to implement this method since they will not be implementing the copy
method.
- Overrides:
convertImpl
in class BaseTransformer
locale
- the locale in which the conversion should take place. for
converters that are not locale-aware, the local argument can
simply be ignored
- Throws:
java.lang.Exception
- See Also:
BaseTransformer.convertImpl(java.lang.Class, java.lang.Object, java.util.Locale)
copyImpl
protected void copyImpl(java.lang.Object destination,
java.lang.Object source,
java.util.Locale locale,
java.lang.Integer preferredTransformationType)
throws java.lang.Exception
- Implementation of the copy method. By default, this method throws
UnsupportedOperationException.
- Overrides:
copyImpl
in class BaseTransformer
- Throws:
java.lang.Exception
- See Also:
BaseTransformer.copyImpl(java.lang.Object, java.lang.Object, java.util.Locale, java.lang.Integer)
isPerformingLogging
protected boolean isPerformingLogging()
- Indicates if calls to the main transformation methods (convert, copy)
will cause a log message to be recorded
- Overrides:
isPerformingLogging
in class BaseTransformer
- Returns:
- boolean
- See Also:
BaseTransformer.isPerformingLogging()
Copyright © 2004-2008.