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 class
ReflectionObjectDecoder.OnlyField
class
ReflectionObjectDecoder.WithCtor
class
ReflectionObjectDecoder.WithWrapper
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<Slice,Binding>
allBindings
private java.lang.String
ctorArgsCacheKey
private ClassDescriptor
desc
private long
expectedTracker
private static java.lang.Object
NOT_SET
private int
requiredIdx
private java.lang.String
tempCacheKey
private int
tempCount
private int
tempIdx
-
Constructor Summary
Constructors Constructor Description ReflectionObjectDecoder(ClassInfo classInfo)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
addBinding(ClassInfo classInfo, Binding binding)
private void
applyWrappers(java.lang.Object[] temp, java.lang.Object obj)
private boolean
canNotSetDirectly(Binding binding)
private java.util.List<java.lang.String>
collectMissingFields(long tracker)
Decoder
create()
private java.lang.Object
createNewObject(JsonIterator iter, java.lang.Object[] temp)
private java.lang.Object
createNewObject(java.lang.Object... args)
private java.lang.Object
decodeBinding(JsonIterator iter, Binding binding)
private java.lang.Object
decodeBinding(JsonIterator iter, java.lang.Object obj, Binding binding)
private void
init(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 void
setExtra(java.lang.Object obj, java.util.Map<java.lang.String,java.lang.Object> extra)
private void
setToBinding(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
-
-