Top Description Fields Constructors Methods
com.fasterxml.jackson.jr.ob.impl

public Class EnumReader

extends ValueReader
Class Inheritance
Imports
java.io.IOException, java.util.Map, com.fasterxml.jackson.core.JsonParser, .JsonToken, com.fasterxml.jackson.jr.ob.JSONObjectException, com.fasterxml.jackson.jr.ob.api.ValueReader

Reader for Enum values: needed because we need a simple java.util.Map for efficient conversion from id (gotten with java.lang.Enum#toString() to value.

In future we could consider alternatively allowing use of java.lang.Enum#name() for id.

Field Summary

Modifier and TypeField and Description
protected final Object[]
protected final Map<String, Object>
Inherited from com.fasterxml.jackson.jr.ob.api.ValueReader:
_valueType

Constructor Summary

AccessConstructor and Description
public
EnumReader(Class<?> enumType, Object[] byIndex, Map<String, Object> byName)

Method Summary

Modifier and TypeMethod and Description
private Object
private String
desc()

public Object
read(JSONReader
Context object that allows calling other read methods for contained values of different types (for example for collection readers).
reader
,
JsonParser
Underlying parser used for reading decoded token stream
p
)

Implements abstract com.fasterxml.jackson.jr.ob.api.ValueReader.read.

Method called to deserialize value of type supported by this reader, using given parser.

public Object
readNext(JSONReader
Context object that allows calling other read methods for contained values of different types (for example for collection readers).
reader
,
JsonParser
Underlying parser used for reading decoded token stream
p
)

Overrides com.fasterxml.jackson.jr.ob.api.ValueReader.readNext.

Method called to deserialize value of type supported by this reader, using given parser.

Inherited from com.fasterxml.jackson.jr.ob.api.ValueReader:
_tokenDesc_tokenDescvalueType

Field Detail

_byIndexback to summary
protected final Object[] _byIndex
_byNameback to summary
protected final Map<String, Object> _byName

Constructor Detail

EnumReaderback to summary
public EnumReader(Class<?> enumType, Object[] byIndex, Map<String, Object> byName)

Method Detail

_enumback to summary
private Object _enum(String id) throws IOException
descback to summary
private String desc()
readback to summary
public Object read(JSONReader reader, JsonParser p) throws IOException

Implements abstract com.fasterxml.jackson.jr.ob.api.ValueReader.read.

Doc from com.fasterxml.jackson.jr.ob.api.ValueReader.read.

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.

Parameters
reader:JSONReader

Context object that allows calling other read methods for contained values of different types (for example for collection readers).

p:JsonParser

Underlying parser used for reading decoded token stream

Annotations
@Override
readNextback to summary
public Object readNext(JSONReader reader, JsonParser p) throws IOException

Overrides com.fasterxml.jackson.jr.ob.api.ValueReader.readNext.

Doc from com.fasterxml.jackson.jr.ob.api.ValueReader.readNext.

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 read(JSONReader, JsonParser), but some implementations may decide to implement this differently to use (slightly) more efficient accessor in JsonParser, like JsonParser#nextIntValue(int).

Parameters
reader:JSONReader

Context object that allows calling other read methods for contained values of different types (for example for collection readers).

p:JsonParser

Underlying parser used for reading decoded token stream

Annotations
@Override