org.yaml.snakeyaml.nodes

## Class Node

- java.lang.Object
- - org.yaml.snakeyaml.nodes.Node

Direct Known Subclasses:
  AnchorNode, CollectionNode, ScalarNode

    public abstract class Node
    extends 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
`protected Mark` `endMark`
`protected boolean` `resolved` true when the tag is assigned by the resolver
`protected Boolean` `useClassConstructor`

### Constructor Summary

Constructors
Constructor and Description
`Node(Tag tag, Mark startMark, Mark endMark)`

### Method Summary

Methods
`boolean` `equals(Object obj)` Node is only equal to itself
`String` `getAnchor()`
`List<CommentLine>` `getBlockComments()` The ordered list of blank lines and block comments (full line) that appear before this node.
`List<CommentLine>` `getEndComments()` The ordered list of blank lines and block comments (full line) that appear AFTER this node.
`Mark` `getEndMark()`
`List<CommentLine>` `getInLineComments()` The ordered list of in-line comments.
`abstract NodeId` `getNodeId()` For error reporting.
`Mark` `getStartMark()`
`Tag` `getTag()` Tag of this node.
`Class<? extends Object>` `getType()`
`int` `hashCode()`
`boolean` `isResolved()` Deprecated. Since v1.22. Absent in immediately prior versions, but present previously. Restored deprecated for backwards compatibility.
`boolean` `isTwoStepsConstruction()` Indicates if this node must be constructed in two steps.
`void` `setAnchor(String anchor)`
`void` `setBlockComments(List<CommentLine> blockComments)`
`void` `setEndComments(List<CommentLine> endComments)`
`void` `setInLineComments(List<CommentLine> inLineComments)`
`void` `setTag(Tag tag)`
`void` `setTwoStepsConstruction(boolean twoStepsConstruction)`
`void` `setType(Class<? extends Object> type)`
`void` `setUseClassConstructor(Boolean useClassConstructor)`
`boolean` `useClassConstructor()`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### endMark

    protected Mark endMark

#### resolved

    protected boolean resolved

true when the tag is assigned by the resolver

#### useClassConstructor

    protected Boolean useClassConstructor

### Constructor Detail

#### Node

    public Node(Tag tag,
        Mark startMark,
        Mark endMark)

### Method Detail

#### 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(Object obj)

Node is only equal to itself

Overrides:
  `equals` in class `Object`

#### getType

    public Class<? extends Object> getType()

#### setType

    public void setType(Class<? extends 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 `Object`

#### useClassConstructor

    public boolean useClassConstructor()

#### setUseClassConstructor

    public void setUseClassConstructor(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 String getAnchor()

#### setAnchor

    public void setAnchor(String anchor)

#### getInLineComments

    public List<CommentLine> getInLineComments()

The ordered list of in-line comments. The first of which appears at the end of the line respresent by this node. The rest are in the following lines, indented per the Spec to indicate they are continuation of the inline comment.

Returns:
  the comment line list.

#### setInLineComments

    public void setInLineComments(List<CommentLine> inLineComments)

#### getBlockComments

    public List<CommentLine> getBlockComments()

The ordered list of blank lines and block comments (full line) that appear before this node.

Returns:
  the comment line list.

#### setBlockComments

    public void setBlockComments(List<CommentLine> blockComments)

#### getEndComments

    public List<CommentLine> getEndComments()

The ordered list of blank lines and block comments (full line) that appear AFTER this node.

NOTE: these comment should occur only in the last node in a document, when walking the node tree "in order"

Returns:
  the comment line list.

#### setEndComments

    public void setEndComments(List<CommentLine> endComments)