Class Node

java.lang.Object
org.yaml.snakeyaml.nodes.Node
Direct Known Subclasses:
AnchorNode, CollectionNode, ScalarNode

public abstract class Node
extends java.lang.Object
Base class for all nodes.

The nodes form the node-graph described in the YAML Specification.

While loading, the node graph is usually created by the Composer, and later transformed into application specific Java classes by the classes from the org.yaml.snakeyaml.constructor package.

  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected Mark endMark  
    protected boolean resolved
    true when the tag is assigned by the resolver
    protected java.lang.Boolean useClassConstructor  
  • Constructor Summary

    Constructors 
    Constructor Description
    Node​(Tag tag, Mark startMark, Mark endMark)  
  • Method Summary

    Modifier and Type Method Description
    boolean equals​(java.lang.Object obj)
    Node is only equal to itself
    java.lang.String getAnchor()  
    Mark getEndMark()  
    abstract NodeId getNodeId()
    For error reporting.
    Mark getStartMark()  
    Tag getTag()
    Tag of this node.
    java.lang.Class<? extends java.lang.Object> getType()  
    int hashCode()  
    boolean isResolved()
    Deprecated.
    Since v1.22.
    boolean isTwoStepsConstruction()
    Indicates if this node must be constructed in two steps.
    void setAnchor​(java.lang.String anchor)  
    void setTag​(Tag tag)  
    void setTwoStepsConstruction​(boolean twoStepsConstruction)  
    void setType​(java.lang.Class<? extends java.lang.Object> type)  
    void setUseClassConstructor​(java.lang.Boolean useClassConstructor)  
    boolean useClassConstructor()  

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

  • Method Details

    • getTag

      public Tag getTag()
      Tag of this node.

      Every node has a tag assigned. The tag is either local or global.

      Returns:
      Tag of this node.
    • getEndMark

      public Mark getEndMark()
    • getNodeId

      public abstract NodeId getNodeId()
      For error reporting.
      Returns:
      scalar, sequence, mapping
      See Also:
      "class variable 'id' in PyYAML"
    • getStartMark

      public Mark getStartMark()
    • setTag

      public void setTag​(Tag tag)
    • equals

      public final boolean equals​(java.lang.Object obj)
      Node is only equal to itself
      Overrides:
      equals in class java.lang.Object
    • getType

      public java.lang.Class<? extends java.lang.Object> getType()
    • setType

      public void setType​(java.lang.Class<? extends java.lang.Object> type)
    • setTwoStepsConstruction

      public void setTwoStepsConstruction​(boolean twoStepsConstruction)
    • isTwoStepsConstruction

      public boolean isTwoStepsConstruction()
      Indicates if this node must be constructed in two steps.

      Two-step construction is required whenever a node is a child (direct or indirect) of it self. That is, if a recursive structure is build using anchors and aliases.

      Set by Composer, used during the construction process.

      Only relevant during loading.

      Returns:
      true if the node is self referenced.
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class java.lang.Object
    • useClassConstructor

      public boolean useClassConstructor()
    • setUseClassConstructor

      public void setUseClassConstructor​(java.lang.Boolean useClassConstructor)
    • isResolved

      @Deprecated public boolean isResolved()
      Deprecated.
      Since v1.22. Absent in immediately prior versions, but present previously. Restored deprecated for backwards compatibility.
      Indicates if the tag was added by Resolver.
      Returns:
      true if the tag of this node was resolved
    • getAnchor

      public java.lang.String getAnchor()
    • setAnchor

      public void setAnchor​(java.lang.String anchor)