Class Node

    • Field Detail

      • startMark

        private final java.util.Optional<Mark> startMark
      • endMark

        protected java.util.Optional<Mark> endMark
      • resolved

        protected boolean resolved
        true when the tag is assigned by the resolver
      • tag

        private Tag tag
      • recursive

        private boolean recursive
      • anchor

        private java.util.Optional<Anchor> anchor
      • inLineComments

        private java.util.List<CommentLine> inLineComments
      • blockComments

        private java.util.List<CommentLine> blockComments
      • endComments

        private java.util.List<CommentLine> endComments
      • properties

        private java.util.Map<java.lang.String,​java.lang.Object> properties
    • Constructor Detail

      • Node

        public Node​(Tag tag,
                    java.util.Optional<Mark> startMark,
                    java.util.Optional<Mark> endMark)
        Create Node to be parsed
        Parameters:
        tag - - the tag
        startMark - - start mark when available
        endMark - - end mark when available
    • 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.
      • setTag

        public void setTag​(Tag tag)
      • getEndMark

        public java.util.Optional<Mark> getEndMark()
      • getNodeType

        public abstract NodeType getNodeType()
        Returns:
        scalar, sequence, mapping
      • getStartMark

        public java.util.Optional<Mark> getStartMark()
      • equals

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

        public boolean isRecursive()
        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.
      • setRecursive

        public void setRecursive​(boolean recursive)
      • hashCode

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

        public java.util.Optional<Anchor> getAnchor()
        Get the anchor if it was defined for this Node
        Returns:
        the Anchor if available
        See Also:
        3.2.2.2. Anchors and Aliases
      • setAnchor

        public void setAnchor​(java.util.Optional<Anchor> anchor)
        Set the anchor for this Node
        Parameters:
        anchor - - the Anchor for this Node
        See Also:
        3.2.2.2. Anchors and Aliases
      • setProperty

        public java.lang.Object setProperty​(java.lang.String key,
                                            java.lang.Object value)
        Define a custom runtime property. It is not used by Engine but may be used by other tools.
        Parameters:
        key - - the key for the custom property
        value - - the value for the custom property
        Returns:
        the previous value for the provided key if it was defined
      • getProperty

        public java.lang.Object getProperty​(java.lang.String key)
        Get the custom runtime property.
        Parameters:
        key - - the key of the runtime property
        Returns:
        the value if it was specified
      • getInLineComments

        public java.util.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​(java.util.List<CommentLine> inLineComments)
      • getBlockComments

        public java.util.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​(java.util.List<CommentLine> blockComments)
      • getEndComments

        public java.util.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​(java.util.List<CommentLine> endComments)