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(BeanContext bc,
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, withTemplate
public static PojoSwap<?,?> find(BeanContext bc, ClassInfo ci)
bc
- The bean context to use for looking up annotations.ci
- The class to return a swap on.public Object swap(BeanSession session, Object o) throws SerializeException
PojoSwap
The 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.SerializeException
public T unswap(BeanSession session, Object f, ClassMeta<?> hint) throws ParseException
PojoSwap
unswap
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
.
ParseException
Copyright © 2016–2020 The Apache Software Foundation. All rights reserved.