Package jadex.binary
Class BeanCodec
- java.lang.Object
-
- jadex.binary.AbstractCodec
-
- jadex.binary.BeanCodec
-
- All Implemented Interfaces:
IDecoderHandler
,ITraverseProcessor
- Direct Known Subclasses:
SimpleDateFormatCodec
public class BeanCodec extends AbstractCodec
Codec for encoding and decoding Java Beans.
-
-
Field Summary
Fields Modifier and Type Field Description protected IBeanIntrospector
intro
Bean introspector for inspecting beans.protected static int
INTROSPECTOR_CACHE_SIZE
-
Constructor Summary
Constructors Constructor Description BeanCodec()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
createObject(java.lang.Class<?> clazz, IDecodingContext context)
Creates the object during decoding.java.lang.Object
decodeSubObjects(java.lang.Object object, java.lang.Class<?> clazz, IDecodingContext context)
Decodes and adds sub-objects during decoding.java.lang.Object
encode(java.lang.Object object, java.lang.Class<?> clazz, java.util.List<ITraverseProcessor> preprocessors, java.util.List<ITraverseProcessor> processors, Traverser.MODE mode, Traverser traverser, java.lang.ClassLoader targetcl, IEncodingContext ec)
Encode the object.boolean
isApplicable(java.lang.Class<?> clazz)
Tests if the decoder can decode the class.boolean
isApplicable(java.lang.Object object, java.lang.reflect.Type type, boolean clone, java.lang.ClassLoader targetcl)
Test if the processor is applicable.static void
readBeanProperties(java.lang.Object object, java.lang.Class clazz, IDecodingContext context, IBeanIntrospector intro)
static void
writeBeanProperties(java.lang.Object object, java.lang.Class<?> clazz, java.util.List<ITraverseProcessor> preprocessors, java.util.List<ITraverseProcessor> processors, Traverser traverser, Traverser.MODE mode, IEncodingContext ec, IBeanIntrospector intro)
-
Methods inherited from class jadex.binary.AbstractCodec
canReference, decode, isApplicable, isFixedFrame, process, recordKnownDecodedObject
-
-
-
-
Field Detail
-
INTROSPECTOR_CACHE_SIZE
protected static final int INTROSPECTOR_CACHE_SIZE
- See Also:
- Constant Field Values
-
intro
protected IBeanIntrospector intro
Bean introspector for inspecting beans.
-
-
Method Detail
-
isApplicable
public boolean isApplicable(java.lang.Class<?> clazz)
Tests if the decoder can decode the class.- Specified by:
isApplicable
in interfaceIDecoderHandler
- Specified by:
isApplicable
in classAbstractCodec
- Parameters:
clazz
- The class.- Returns:
- True, if the decoder can decode this class.
-
createObject
public java.lang.Object createObject(java.lang.Class<?> clazz, IDecodingContext context)
Creates the object during decoding.- Specified by:
createObject
in classAbstractCodec
- Parameters:
clazz
- The class of the object.context
- The decoding context.- Returns:
- The created object.
-
decodeSubObjects
public java.lang.Object decodeSubObjects(java.lang.Object object, java.lang.Class<?> clazz, IDecodingContext context)
Decodes and adds sub-objects during decoding.- Overrides:
decodeSubObjects
in classAbstractCodec
- Parameters:
object
- The instantiated object.clazz
- The class of the object.context
- The decoding context.- Returns:
- The finished object.
-
isApplicable
public boolean isApplicable(java.lang.Object object, java.lang.reflect.Type type, boolean clone, java.lang.ClassLoader targetcl)
Test if the processor is applicable.- Parameters:
object
- The object.targetcl
- If not null, the traverser should make sure that the result object is compatible with the class loader, e.g. by cloning the object using the class loaded from the target class loader.- Returns:
- True, if is applicable.
-
encode
public java.lang.Object encode(java.lang.Object object, java.lang.Class<?> clazz, java.util.List<ITraverseProcessor> preprocessors, java.util.List<ITraverseProcessor> processors, Traverser.MODE mode, Traverser traverser, java.lang.ClassLoader targetcl, IEncodingContext ec)
Encode the object.- Specified by:
encode
in classAbstractCodec
-
writeBeanProperties
public static void writeBeanProperties(java.lang.Object object, java.lang.Class<?> clazz, java.util.List<ITraverseProcessor> preprocessors, java.util.List<ITraverseProcessor> processors, Traverser traverser, Traverser.MODE mode, IEncodingContext ec, IBeanIntrospector intro)
-
readBeanProperties
public static void readBeanProperties(java.lang.Object object, java.lang.Class clazz, IDecodingContext context, IBeanIntrospector intro)
-
-