public class EnumReader extends ValueReader
Map
for efficient conversion from id (gotten with Enum.toString()
to value.
In future we could consider alternatively allowing use of
Enum.name()
for id.
Modifier and Type | Field and Description |
---|---|
protected Object[] |
_byIndex |
protected Map<String,Object> |
_byName |
_valueType
Constructor and Description |
---|
EnumReader(Class<?> enumType,
Object[] byIndex,
Map<String,Object> byName) |
Modifier and Type | Method and Description |
---|---|
Object |
read(JSONReader reader,
JsonParser p)
Method called to deserialize value of type supported by this reader, using
given parser.
|
Object |
readNext(JSONReader reader,
JsonParser p)
Method called to deserialize value of type supported by this reader, using
given parser.
|
_tokenDesc, _tokenDesc, valueType
protected final Object[] _byIndex
public Object readNext(JSONReader reader, JsonParser p) throws IOException
ValueReader
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 in JsonParser
, like JsonParser.nextIntValue(int)
.
readNext
in class ValueReader
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 streamIOException
public Object read(JSONReader reader, JsonParser p) throws IOException
ValueReader
read
in class ValueReader
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 streamIOException
Copyright © 2020 FasterXML. All rights reserved.