Class XmlReadContext

java.lang.Object
com.fasterxml.jackson.core.JsonStreamContext
com.fasterxml.jackson.dataformat.xml.deser.XmlReadContext

public final class XmlReadContext extends com.fasterxml.jackson.core.JsonStreamContext
Extension of JsonStreamContext, which implements core methods needed, and adds small amount of additional state data we need.

Almost same as standard JsonReaderContext, but custom version needed to be able to keep track of names of properties that need wrapping; this is needed to support wrapped/unwrapped Collection/array values.

  • Field Details

    • _parent

      protected final XmlReadContext _parent
    • _lineNr

      protected int _lineNr
    • _columnNr

      protected int _columnNr
    • _currentName

      protected String _currentName
    • _currentValue

      protected Object _currentValue
      Since:
      2.9
    • _namesToWrap

      protected Set<String> _namesToWrap
    • _wrappedName

      protected String _wrappedName
      Name of property that requires wrapping
    • _child

      protected XmlReadContext _child
  • Constructor Details

    • XmlReadContext

      public XmlReadContext(XmlReadContext parent, int nestingDepth, int type, int lineNr, int colNr)
      Since:
      2.18
    • XmlReadContext

      @Deprecated public XmlReadContext(XmlReadContext parent, int type, int lineNr, int colNr)
      Deprecated.
      Since 2.18
  • Method Details

    • reset

      protected final void reset(int type, int lineNr, int colNr)
    • getCurrentValue

      public Object getCurrentValue()
      Overrides:
      getCurrentValue in class com.fasterxml.jackson.core.JsonStreamContext
    • setCurrentValue

      public void setCurrentValue(Object v)
      Overrides:
      setCurrentValue in class com.fasterxml.jackson.core.JsonStreamContext
    • createRootContext

      public static XmlReadContext createRootContext(int lineNr, int colNr)
    • createRootContext

      public static XmlReadContext createRootContext()
    • createChildArrayContext

      public final XmlReadContext createChildArrayContext(int lineNr, int colNr)
    • createChildObjectContext

      public final XmlReadContext createChildObjectContext(int lineNr, int colNr)
    • getCurrentName

      public final String getCurrentName()
      Specified by:
      getCurrentName in class com.fasterxml.jackson.core.JsonStreamContext
    • hasCurrentName

      public boolean hasCurrentName()
      Overrides:
      hasCurrentName in class com.fasterxml.jackson.core.JsonStreamContext
    • getParent

      public final XmlReadContext getParent()
      Specified by:
      getParent in class com.fasterxml.jackson.core.JsonStreamContext
    • startLocation

      public final com.fasterxml.jackson.core.JsonLocation startLocation(com.fasterxml.jackson.core.io.ContentReference srcRef)
      Overrides:
      startLocation in class com.fasterxml.jackson.core.JsonStreamContext
      Returns:
      Location pointing to the point where the context start marker was found
    • valueStarted

      public final void valueStarted()
      Method called to mark start of new value, mostly to update `index` for Array and Root contexts.
      Since:
      2.12
    • setCurrentName

      public void setCurrentName(String name)
    • setNamesToWrap

      public void setNamesToWrap(Set<String> namesToWrap)
    • shouldWrap

      public boolean shouldWrap(String localName)
    • convertToArray

      protected void convertToArray()
    • toString

      public final String toString()
      Overridden to provide developer readable "JsonPath" representation of the context.
      Overrides:
      toString in class com.fasterxml.jackson.core.JsonStreamContext