Package com.fasterxml.jackson.jr.ob.impl
Class EnumReader
- java.lang.Object
-
- com.fasterxml.jackson.jr.ob.api.ValueReader
-
- com.fasterxml.jackson.jr.ob.impl.EnumReader
-
public class EnumReader extends ValueReader
Reader for Enum values: needed because we need a simpleMap
for efficient conversion from id (gotten withEnum.toString()
to value.In future we could consider alternatively allowing use of
Enum.name()
for id.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.Object[]
_byIndex
protected java.util.Map<java.lang.String,java.lang.Object>
_byName
-
Fields inherited from class com.fasterxml.jackson.jr.ob.api.ValueReader
_valueType
-
-
Constructor Summary
Constructors Constructor Description EnumReader(java.lang.Class<?> enumType, java.lang.Object[] byIndex, java.util.Map<java.lang.String,java.lang.Object> byName)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
read(JSONReader reader, com.fasterxml.jackson.core.JsonParser p)
Method called to deserialize value of type supported by this reader, using given parser.java.lang.Object
readNext(JSONReader reader, com.fasterxml.jackson.core.JsonParser p)
Method called to deserialize value of type supported by this reader, using given parser.-
Methods inherited from class com.fasterxml.jackson.jr.ob.api.ValueReader
_tokenDesc, _tokenDesc, valueType
-
-
-
-
Method Detail
-
readNext
public java.lang.Object readNext(JSONReader reader, com.fasterxml.jackson.core.JsonParser p) throws java.io.IOException
Description copied from class:ValueReader
Method called to deserialize value of type supported by this reader, using given parser. Parser is not yet positioned to the (first) token of the value to read and needs to be advanced.Default implementation simply calls `p.nextToken()` first, then calls {#link
ValueReader.read(JSONReader, JsonParser)
, but some implementations may decide to implement this differently to use (slightly) more efficient accessor inJsonParser
, likeJsonParser.nextIntValue(int)
.- Overrides:
readNext
in classValueReader
- Parameters:
reader
- Context object that allows calling other read methods for contained values of different types (for example for collection readers).p
- Underlying parser used for reading decoded token stream- Throws:
java.io.IOException
-
read
public java.lang.Object read(JSONReader reader, com.fasterxml.jackson.core.JsonParser p) throws java.io.IOException
Description copied from class:ValueReader
Method called to deserialize value of type supported by this reader, using given parser. Parser is already positioned to the (first) token of the value to read.- Specified by:
read
in classValueReader
- Parameters:
reader
- Context object that allows calling other read methods for contained values of different types (for example for collection readers).p
- Underlying parser used for reading decoded token stream- Throws:
java.io.IOException
-
-