Class XmlReadContext

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

public final class XmlReadContext extends 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.

  • Constructor Details

    • XmlReadContext

      public XmlReadContext(XmlReadContext parent, int type, int lineNr, int colNr)
  • Method Details

    • getCurrentValue

      public Object getCurrentValue()
      Description copied from class: JsonStreamContext
      Method for accessing currently active value being used by data-binding (as the source of streaming data to write, or destination of data being read), at this level in hierarchy.

      Note that "current value" is NOT populated (or used) by Streaming parser or generator; it is only used by higher-level data-binding functionality. The reason it is included here is that it can be stored and accessed hierarchically, and gets passed through data-binding.

      Overrides:
      getCurrentValue in class JsonStreamContext
      Returns:
      Currently active value, if one has been assigned.
    • setCurrentValue

      public void setCurrentValue(Object v)
      Description copied from class: JsonStreamContext
      Method to call to pass value to be returned via JsonStreamContext.getCurrentValue(); typically called indirectly through JsonParser.setCurrentValue(java.lang.Object) or JsonGenerator.setCurrentValue(java.lang.Object)).
      Overrides:
      setCurrentValue in class JsonStreamContext
      Parameters:
      v - Current value to assign to this context
    • 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()
      Description copied from class: JsonStreamContext
      Method for accessing name associated with the current location. Non-null for FIELD_NAME and value events that directly follow field names; null for root level and array values.
      Specified by:
      getCurrentName in class JsonStreamContext
      Returns:
      Current field name within context, if any; null if none
    • hasCurrentName

      public boolean hasCurrentName()
      Overrides:
      hasCurrentName in class JsonStreamContext
      Returns:
      True if a call to JsonStreamContext.getCurrentName() would return non-null name; false otherwise
    • getParent

      public final XmlReadContext getParent()
      Description copied from class: JsonStreamContext
      Accessor for finding parent context of this context; will return null for root context.
      Specified by:
      getParent in class JsonStreamContext
      Returns:
      Parent context of this context, if any; null for Root contexts
    • startLocation

      public final JsonLocation startLocation(ContentReference srcRef)
      Description copied from class: JsonStreamContext
      Optional method that may be used to access starting location of this context: for example, in case of JSON `Object` context, offset at which `[` token was read or written. Often used for error reporting purposes. Implementations that do not keep track of such location are expected to return JsonLocation.NA; this is what the default implementation does.
      Overrides:
      startLocation in class JsonStreamContext
      Parameters:
      srcRef - Source reference needed to construct location instance
      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)
    • toString

      public final String toString()
      Overridden to provide developer readable "JsonPath" representation of the context.
      Overrides:
      toString in class JsonStreamContext
      Returns:
      Simple developer-readable description this context layer (note: NOT constructed with parents, unlike JsonStreamContext.pathAsPointer())