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.Object convert​(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> T revert​(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.
    boolean skip​(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, wait

    Methods 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: BeanConverterExtension
      Skip 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:
      skip in interface BeanConverterExtension
      Parameters:
      beanClass - the Classof the type that will be skipped by this extension.
      beanType - the ParameterizedType that 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: BeanConverterExtension
      Conversion logic for the type you defined to process and not to skip. Converts an original bean to the PersistentBean which 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:
      convert in interface BeanConverterExtension
      Parameters:
      originalBean - the original bean that is supposed to be converted to a serializable data structure, most likely a PersistentBean.
      beanType - the ParameterizedType that 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 current PersistentBeanConverter that 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: BeanConverterExtension
      Conversion logic for the generic data-structure to the processed bean type. Reverts to the original Bean by converting the PersistentBean, which was deserialized by the underlying persistence api, to the original object.

      It is also possible to deserialize other types then PersistentBean if 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:
      revert in interface BeanConverterExtension
      Type Parameters:
      T - type of the original bean
      Parameters:
      persistentBean - the generic bean
      targetClass - the Class of the type that will be created from the persistentBean.
      type - the ParameterizedType for 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 current PersistentBeanConverter that may be used to revert sub objects of persistentBean.
      Returns:
      original bean