Class StandardBeanConverterExtension
java.lang.Object
de.ppi.deepsampler.persistence.bean.ext.StandardBeanConverterExtension
- All Implemented Interfaces:
BeanConverterExtension
- Direct Known Subclasses:
CollectionExtension,JavaTimeExtension,MapPrimitiveKeyExtension,OptionalExtension
public abstract class StandardBeanConverterExtension extends java.lang.Object implements BeanConverterExtension
-
Constructor Summary
Constructors Constructor Description StandardBeanConverterExtension() -
Method Summary
Modifier and Type Method Description java.lang.Objectconvert(java.lang.Object originalBean, java.lang.reflect.ParameterizedType beanType, PersistentBeanConverter persistentBeanConverter)Conversion logic for the type you defined to process and not to skip.<T> Trevert(java.lang.Object persistentBean, java.lang.Class<T> targetClass, java.lang.reflect.ParameterizedType type, PersistentBeanConverter persistentBeanConverter)Conversion logic for the generic data-structure to the processed bean type.booleanskip(java.lang.Class<?> beanClass, java.lang.reflect.ParameterizedType beanType)Skip the conversion of all beans of the given type.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface de.ppi.deepsampler.persistence.bean.ext.BeanConverterExtension
isProcessable
-
Constructor Details
-
StandardBeanConverterExtension
public StandardBeanConverterExtension()
-
-
Method Details
-
skip
public boolean skip(java.lang.Class<?> beanClass, java.lang.reflect.ParameterizedType beanType)Description copied from interface:BeanConverterExtensionSkip the conversion of all beans of the given type. Skipped objects will be sent directly to the underlying persistence api. Therefore the persistence api must be able to handle the serialization / deserialization.- Specified by:
skipin interfaceBeanConverterExtension- Parameters:
beanClass- theClassof the type that will be skipped by this extension.beanType- theParameterizedTypethat will be skipped by this extension. This parameter can only be supplied if the type is actually a generic type. If this is not the case, beanType is null.- Returns:
- true if the Type should be skipped
-
convert
public java.lang.Object convert(java.lang.Object originalBean, java.lang.reflect.ParameterizedType beanType, PersistentBeanConverter persistentBeanConverter)Description copied from interface:BeanConverterExtensionConversion logic for the type you defined to process and not to skip. Converts an original bean to thePersistentBeanwhich will be sent to the persistence api.It is also possible to convert bean to any other data structure if the underlying persistence api is fully capable of handling the data structure on its own.
- Specified by:
convertin interfaceBeanConverterExtension- Parameters:
originalBean- the original bean that is supposed to be converted to a serializable data structure, most likely aPersistentBean.beanType- theParameterizedTypethat will be used for the conversion. This parameter can only be supplied if the type is actually a generic type. If this is not the case, beanType is null.persistentBeanConverter- the currentPersistentBeanConverterthat may be used to convert sub objects of bean.- Returns:
- the generic data-structure for the bean
-
revert
public <T> T revert(java.lang.Object persistentBean, java.lang.Class<T> targetClass, java.lang.reflect.ParameterizedType type, PersistentBeanConverter persistentBeanConverter)Description copied from interface:BeanConverterExtensionConversion logic for the generic data-structure to the processed bean type. Reverts to the original Bean by converting thePersistentBean, which was deserialized by the underlying persistence api, to the original object.It is also possible to deserialize other types then
PersistentBeanif the underlying persistence api is fully capable of deserializing this type.revert() is not called, if the persisted value is null. In that case, null will be returned as the deserialized value without calling an extension. If null needs to be converted, the value must be encapsulated in a
DefaultPersistentBean.- Specified by:
revertin interfaceBeanConverterExtension- Type Parameters:
T- type of the original bean- Parameters:
persistentBean- the generic beantargetClass- theClassof the type that will be created from the persistentBean.type- theParameterizedTypefor the type that will be created from persistentBean, This parameter can only be supplied if the type is actually a generic type. If this is not the case, targetType is null.persistentBeanConverter- the currentPersistentBeanConverterthat may be used to revert sub objects of persistentBean.- Returns:
- original bean
-