Package com.jsoniter
Class ReflectionObjectDecoder
- java.lang.Object
-
- com.jsoniter.ReflectionObjectDecoder
-
class ReflectionObjectDecoder extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classReflectionObjectDecoder.OnlyFieldclassReflectionObjectDecoder.WithCtorclassReflectionObjectDecoder.WithWrapper
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<Slice,Binding>allBindingsprivate java.lang.StringctorArgsCacheKeyprivate ClassDescriptordescprivate longexpectedTrackerprivate static java.lang.ObjectNOT_SETprivate intrequiredIdxprivate java.lang.StringtempCacheKeyprivate inttempCountprivate inttempIdx
-
Constructor Summary
Constructors Constructor Description ReflectionObjectDecoder(ClassInfo classInfo)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidaddBinding(ClassInfo classInfo, Binding binding)private voidapplyWrappers(java.lang.Object[] temp, java.lang.Object obj)private booleancanNotSetDirectly(Binding binding)private java.util.List<java.lang.String>collectMissingFields(long tracker)Decodercreate()private java.lang.ObjectcreateNewObject(JsonIterator iter, java.lang.Object[] temp)private java.lang.ObjectcreateNewObject(java.lang.Object... args)private java.lang.ObjectdecodeBinding(JsonIterator iter, Binding binding)private java.lang.ObjectdecodeBinding(JsonIterator iter, java.lang.Object obj, Binding binding)private voidinit(ClassInfo classInfo)private java.util.Map<java.lang.String,java.lang.Object>onUnknownProperty(JsonIterator iter, Slice fieldName, java.util.Map<java.lang.String,java.lang.Object> extra)private voidsetExtra(java.lang.Object obj, java.util.Map<java.lang.String,java.lang.Object> extra)private voidsetToBinding(java.lang.Object obj, Binding binding, java.lang.Object value)
-
-
-
Field Detail
-
NOT_SET
private static java.lang.Object NOT_SET
-
tempCacheKey
private java.lang.String tempCacheKey
-
ctorArgsCacheKey
private java.lang.String ctorArgsCacheKey
-
tempCount
private int tempCount
-
expectedTracker
private long expectedTracker
-
requiredIdx
private int requiredIdx
-
tempIdx
private int tempIdx
-
desc
private ClassDescriptor desc
-
-
Constructor Detail
-
ReflectionObjectDecoder
public ReflectionObjectDecoder(ClassInfo classInfo)
-
-
Method Detail
-
init
private final void init(ClassInfo classInfo) throws java.lang.Exception
- Throws:
java.lang.Exception
-
create
public Decoder create()
-
setToBinding
private void setToBinding(java.lang.Object obj, Binding binding, java.lang.Object value) throws java.lang.Exception- Throws:
java.lang.Exception
-
setExtra
private void setExtra(java.lang.Object obj, java.util.Map<java.lang.String,java.lang.Object> extra) throws java.lang.Exception- Throws:
java.lang.Exception
-
canNotSetDirectly
private boolean canNotSetDirectly(Binding binding)
-
decodeBinding
private java.lang.Object decodeBinding(JsonIterator iter, Binding binding) throws java.lang.Exception
- Throws:
java.lang.Exception
-
decodeBinding
private java.lang.Object decodeBinding(JsonIterator iter, java.lang.Object obj, Binding binding) throws java.lang.Exception
- Throws:
java.lang.Exception
-
onUnknownProperty
private java.util.Map<java.lang.String,java.lang.Object> onUnknownProperty(JsonIterator iter, Slice fieldName, java.util.Map<java.lang.String,java.lang.Object> extra) throws java.io.IOException
- Throws:
java.io.IOException
-
collectMissingFields
private java.util.List<java.lang.String> collectMissingFields(long tracker)
-
applyWrappers
private void applyWrappers(java.lang.Object[] temp, java.lang.Object obj) throws java.lang.Exception- Throws:
java.lang.Exception
-
createNewObject
private java.lang.Object createNewObject(JsonIterator iter, java.lang.Object[] temp) throws java.lang.Exception
- Throws:
java.lang.Exception
-
createNewObject
private java.lang.Object createNewObject(java.lang.Object... args) throws java.lang.Exception- Throws:
java.lang.Exception
-
-