T - The normal class type.public class AutoObjectSwap<T> extends PojoSwap<T,Object>
Looks for methods on the class that can be called to swap-in surrogate objects before serialization and swap-out surrogate objects after parsing.
Classes are ignored if any of the following are true:
@BeanIgnore.
Members/constructors are ignored if any of the following are true:
@BeanIgnore.
| Modifier and Type | Method and Description |
|---|---|
static PojoSwap<?,?> |
find(ClassInfo ci)
Inspects the specified class and returns a swap of this type if possible.
|
Object |
swap(BeanSession session,
Object o)
If this transform is to be used to serialize non-serializable POJOs, it must implement this method.
|
T |
unswap(BeanSession session,
Object f,
ClassMeta<?> hint)
If this transform is to be used to reconstitute POJOs that aren't true Java beans, it must implement this method.
|
forMediaTypes, forMediaTypes, getNormalClass, getSwapClass, getSwapClassMeta, isNormalObject, isSwappedObject, match, swap, toString, unswap, withTemplate, withTemplatepublic static PojoSwap<?,?> find(ClassInfo ci)
ci - The class to return a swap on.public Object swap(BeanSession session, Object o) throws SerializeException
PojoSwapThe object must be converted into one of the following serializable types:
String
Number
Boolean
Collection containing anything on this list.
Map containing anything on this list.
swap in class PojoSwap<T,Object>session - The bean session to use to get the class meta.
This is always going to be the same bean context that created this swap.o - The object to be transformed.SerializeExceptionpublic T unswap(BeanSession session, Object f, ClassMeta<?> hint) throws ParseException
PojoSwapunswap in class PojoSwap<T,Object>session - The bean session to use to get the class meta.
This is always going to be the same bean context that created this swap.f - The transformed object.hint - If possible, the parser will try to tell you the object type being created.
For example, on a serialized date, this may tell you that the object being created must be of type
GregorianCalendar.
ParseExceptionCopyright © 2016–2019 The Apache Software Foundation. All rights reserved.