com.fasterxml.jackson.databind.node
Class TreeTraversingParser

java.lang.Object
  extended by com.fasterxml.jackson.core.JsonParser
      extended by com.fasterxml.jackson.core.base.ParserMinimalBase
          extended by com.fasterxml.jackson.databind.node.TreeTraversingParser
All Implemented Interfaces:
com.fasterxml.jackson.core.Versioned, Closeable

public class TreeTraversingParser
extends com.fasterxml.jackson.core.base.ParserMinimalBase

Facade over JsonNode that implements JsonParser to allow accessing contents of JSON tree in alternate form (stream of tokens). Useful when a streaming source is expected by code, such as data binding functionality.

Author:
tatu

Nested Class Summary
 
Nested classes/interfaces inherited from class com.fasterxml.jackson.core.JsonParser
com.fasterxml.jackson.core.JsonParser.Feature, com.fasterxml.jackson.core.JsonParser.NumberType
 
Field Summary
protected  boolean _closed
          Flag that indicates whether parser is closed or not.
protected  com.fasterxml.jackson.core.JsonToken _nextToken
          Sometimes parser needs to buffer a single look-ahead token; if so, it'll be stored here.
protected  com.fasterxml.jackson.databind.node.NodeCursor _nodeCursor
          Traversal context within tree
protected  com.fasterxml.jackson.core.ObjectCodec _objectCodec
           
protected  boolean _startContainer
          Flag needed to handle recursion into contents of child Array/Object nodes.
 
Fields inherited from class com.fasterxml.jackson.core.base.ParserMinimalBase
_currToken, _lastClearedToken, INT_APOSTROPHE, INT_ASTERISK, INT_b, INT_BACKSLASH, INT_COLON, INT_COMMA, INT_CR, INT_f, INT_LBRACKET, INT_LCURLY, INT_LF, INT_n, INT_QUOTE, INT_r, INT_RBRACKET, INT_RCURLY, INT_SLASH, INT_SPACE, INT_t, INT_TAB, INT_u
 
Fields inherited from class com.fasterxml.jackson.core.JsonParser
_features
 
Constructor Summary
TreeTraversingParser(JsonNode n)
           
TreeTraversingParser(JsonNode n, com.fasterxml.jackson.core.ObjectCodec codec)
           
 
Method Summary
protected  void _handleEOF()
           
 void close()
           
protected  JsonNode currentNode()
           
protected  JsonNode currentNumericNode()
           
 BigInteger getBigIntegerValue()
           
 byte[] getBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant)
           
 com.fasterxml.jackson.core.ObjectCodec getCodec()
           
 com.fasterxml.jackson.core.JsonLocation getCurrentLocation()
           
 String getCurrentName()
           
 BigDecimal getDecimalValue()
           
 double getDoubleValue()
           
 Object getEmbeddedObject()
           
 float getFloatValue()
           
 int getIntValue()
           
 long getLongValue()
           
 com.fasterxml.jackson.core.JsonParser.NumberType getNumberType()
           
 Number getNumberValue()
           
 com.fasterxml.jackson.core.JsonStreamContext getParsingContext()
           
 String getText()
           
 char[] getTextCharacters()
           
 int getTextLength()
           
 int getTextOffset()
           
 com.fasterxml.jackson.core.JsonLocation getTokenLocation()
           
 boolean hasTextCharacters()
           
 boolean isClosed()
           
 com.fasterxml.jackson.core.JsonToken nextToken()
           
 void overrideCurrentName(String name)
           
 void setCodec(com.fasterxml.jackson.core.ObjectCodec c)
           
 com.fasterxml.jackson.core.JsonParser skipChildren()
           
 com.fasterxml.jackson.core.Version version()
           
 
Methods inherited from class com.fasterxml.jackson.core.base.ParserMinimalBase
_constructError, _decodeBase64, _getCharDesc, _handleUnrecognizedCharacterEscape, _reportBase64EOF, _reportError, _reportInvalidBase64, _reportInvalidEOF, _reportInvalidEOF, _reportInvalidEOFInValue, _reportUnexpectedChar, _throwInternal, _throwInvalidSpace, _throwUnquotedSpace, _wrapError, clearCurrentToken, getCurrentToken, getLastClearedToken, getValueAsBoolean, getValueAsDouble, getValueAsInt, getValueAsLong, hasCurrentToken, nextValue
 
Methods inherited from class com.fasterxml.jackson.core.JsonParser
_constructError, canUseSchema, configure, disable, enable, getBinaryValue, getBooleanValue, getByteValue, getInputSource, getShortValue, getValueAsBoolean, getValueAsDouble, getValueAsInt, getValueAsLong, isEnabled, isExpectedStartArrayToken, nextBooleanValue, nextFieldName, nextIntValue, nextLongValue, nextTextValue, readValueAs, readValueAs, readValueAsTree, readValuesAs, readValuesAs, releaseBuffered, releaseBuffered, setSchema
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_objectCodec

protected com.fasterxml.jackson.core.ObjectCodec _objectCodec

_nodeCursor

protected com.fasterxml.jackson.databind.node.NodeCursor _nodeCursor
Traversal context within tree


_nextToken

protected com.fasterxml.jackson.core.JsonToken _nextToken
Sometimes parser needs to buffer a single look-ahead token; if so, it'll be stored here. This is currently used for handling


_startContainer

protected boolean _startContainer
Flag needed to handle recursion into contents of child Array/Object nodes.


_closed

protected boolean _closed
Flag that indicates whether parser is closed or not. Gets set when parser is either closed by explicit call (close()) or when end-of-input is reached.

Constructor Detail

TreeTraversingParser

public TreeTraversingParser(JsonNode n)

TreeTraversingParser

public TreeTraversingParser(JsonNode n,
                            com.fasterxml.jackson.core.ObjectCodec codec)
Method Detail

setCodec

public void setCodec(com.fasterxml.jackson.core.ObjectCodec c)
Specified by:
setCodec in class com.fasterxml.jackson.core.JsonParser

getCodec

public com.fasterxml.jackson.core.ObjectCodec getCodec()
Specified by:
getCodec in class com.fasterxml.jackson.core.JsonParser

version

public com.fasterxml.jackson.core.Version version()
Specified by:
version in interface com.fasterxml.jackson.core.Versioned
Overrides:
version in class com.fasterxml.jackson.core.base.ParserMinimalBase

close

public void close()
           throws IOException
Specified by:
close in interface Closeable
Specified by:
close in class com.fasterxml.jackson.core.base.ParserMinimalBase
Throws:
IOException

nextToken

public com.fasterxml.jackson.core.JsonToken nextToken()
                                               throws IOException,
                                                      com.fasterxml.jackson.core.JsonParseException
Specified by:
nextToken in class com.fasterxml.jackson.core.base.ParserMinimalBase
Throws:
IOException
com.fasterxml.jackson.core.JsonParseException

skipChildren

public com.fasterxml.jackson.core.JsonParser skipChildren()
                                                   throws IOException,
                                                          com.fasterxml.jackson.core.JsonParseException
Overrides:
skipChildren in class com.fasterxml.jackson.core.base.ParserMinimalBase
Throws:
IOException
com.fasterxml.jackson.core.JsonParseException

isClosed

public boolean isClosed()
Specified by:
isClosed in class com.fasterxml.jackson.core.base.ParserMinimalBase

getCurrentName

public String getCurrentName()
Specified by:
getCurrentName in class com.fasterxml.jackson.core.base.ParserMinimalBase

overrideCurrentName

public void overrideCurrentName(String name)
Specified by:
overrideCurrentName in class com.fasterxml.jackson.core.base.ParserMinimalBase

getParsingContext

public com.fasterxml.jackson.core.JsonStreamContext getParsingContext()
Specified by:
getParsingContext in class com.fasterxml.jackson.core.base.ParserMinimalBase

getTokenLocation

public com.fasterxml.jackson.core.JsonLocation getTokenLocation()
Specified by:
getTokenLocation in class com.fasterxml.jackson.core.JsonParser

getCurrentLocation

public com.fasterxml.jackson.core.JsonLocation getCurrentLocation()
Specified by:
getCurrentLocation in class com.fasterxml.jackson.core.JsonParser

getText

public String getText()
Specified by:
getText in class com.fasterxml.jackson.core.base.ParserMinimalBase

getTextCharacters

public char[] getTextCharacters()
                         throws IOException,
                                com.fasterxml.jackson.core.JsonParseException
Specified by:
getTextCharacters in class com.fasterxml.jackson.core.base.ParserMinimalBase
Throws:
IOException
com.fasterxml.jackson.core.JsonParseException

getTextLength

public int getTextLength()
                  throws IOException,
                         com.fasterxml.jackson.core.JsonParseException
Specified by:
getTextLength in class com.fasterxml.jackson.core.base.ParserMinimalBase
Throws:
IOException
com.fasterxml.jackson.core.JsonParseException

getTextOffset

public int getTextOffset()
                  throws IOException,
                         com.fasterxml.jackson.core.JsonParseException
Specified by:
getTextOffset in class com.fasterxml.jackson.core.base.ParserMinimalBase
Throws:
IOException
com.fasterxml.jackson.core.JsonParseException

hasTextCharacters

public boolean hasTextCharacters()
Specified by:
hasTextCharacters in class com.fasterxml.jackson.core.base.ParserMinimalBase

getNumberType

public com.fasterxml.jackson.core.JsonParser.NumberType getNumberType()
                                                               throws IOException,
                                                                      com.fasterxml.jackson.core.JsonParseException
Specified by:
getNumberType in class com.fasterxml.jackson.core.JsonParser
Throws:
IOException
com.fasterxml.jackson.core.JsonParseException

getBigIntegerValue

public BigInteger getBigIntegerValue()
                              throws IOException,
                                     com.fasterxml.jackson.core.JsonParseException
Specified by:
getBigIntegerValue in class com.fasterxml.jackson.core.JsonParser
Throws:
IOException
com.fasterxml.jackson.core.JsonParseException

getDecimalValue

public BigDecimal getDecimalValue()
                           throws IOException,
                                  com.fasterxml.jackson.core.JsonParseException
Specified by:
getDecimalValue in class com.fasterxml.jackson.core.JsonParser
Throws:
IOException
com.fasterxml.jackson.core.JsonParseException

getDoubleValue

public double getDoubleValue()
                      throws IOException,
                             com.fasterxml.jackson.core.JsonParseException
Specified by:
getDoubleValue in class com.fasterxml.jackson.core.JsonParser
Throws:
IOException
com.fasterxml.jackson.core.JsonParseException

getFloatValue

public float getFloatValue()
                    throws IOException,
                           com.fasterxml.jackson.core.JsonParseException
Specified by:
getFloatValue in class com.fasterxml.jackson.core.JsonParser
Throws:
IOException
com.fasterxml.jackson.core.JsonParseException

getLongValue

public long getLongValue()
                  throws IOException,
                         com.fasterxml.jackson.core.JsonParseException
Specified by:
getLongValue in class com.fasterxml.jackson.core.JsonParser
Throws:
IOException
com.fasterxml.jackson.core.JsonParseException

getIntValue

public int getIntValue()
                throws IOException,
                       com.fasterxml.jackson.core.JsonParseException
Specified by:
getIntValue in class com.fasterxml.jackson.core.JsonParser
Throws:
IOException
com.fasterxml.jackson.core.JsonParseException

getNumberValue

public Number getNumberValue()
                      throws IOException,
                             com.fasterxml.jackson.core.JsonParseException
Specified by:
getNumberValue in class com.fasterxml.jackson.core.JsonParser
Throws:
IOException
com.fasterxml.jackson.core.JsonParseException

getEmbeddedObject

public Object getEmbeddedObject()
Specified by:
getEmbeddedObject in class com.fasterxml.jackson.core.JsonParser

getBinaryValue

public byte[] getBinaryValue(com.fasterxml.jackson.core.Base64Variant b64variant)
                      throws IOException,
                             com.fasterxml.jackson.core.JsonParseException
Specified by:
getBinaryValue in class com.fasterxml.jackson.core.base.ParserMinimalBase
Throws:
IOException
com.fasterxml.jackson.core.JsonParseException

currentNode

protected JsonNode currentNode()

currentNumericNode

protected JsonNode currentNumericNode()
                               throws com.fasterxml.jackson.core.JsonParseException
Throws:
com.fasterxml.jackson.core.JsonParseException

_handleEOF

protected void _handleEOF()
                   throws com.fasterxml.jackson.core.JsonParseException
Specified by:
_handleEOF in class com.fasterxml.jackson.core.base.ParserMinimalBase
Throws:
com.fasterxml.jackson.core.JsonParseException


Copyright © 2012 fasterxml.com. All Rights Reserved.