Class Composer

java.lang.Object
org.yaml.snakeyaml.composer.Composer

public class Composer extends Object
Creates a node graph from parser events.

Corresponds to the 'Compose' step as described in chapter 3.1 of the YAML Specification.

  • Field Details

    • parser

      protected final Parser parser
      its parser
    • resolver

      private final Resolver resolver
    • anchors

      private final Map<String,Node> anchors
    • recursiveNodes

      private final Set<Node> recursiveNodes
    • nonScalarAliasesCount

      private int nonScalarAliasesCount
    • loadingConfig

      private final LoaderOptions loadingConfig
    • blockCommentsCollector

      private final CommentEventsCollector blockCommentsCollector
    • inlineCommentsCollector

      private final CommentEventsCollector inlineCommentsCollector
    • nestingDepth

      private int nestingDepth
    • nestingDepthLimit

      private final int nestingDepthLimit
  • Constructor Details

    • Composer

      @Deprecated public Composer(Parser parser, Resolver resolver)
      Deprecated.
      use options
      Create with defaults
      Parameters:
      parser - - the parser
      resolver - - the resolver
    • Composer

      public Composer(Parser parser, Resolver resolver, LoaderOptions loadingConfig)
      Create
      Parameters:
      parser - - the parser
      resolver - - the resolver
      loadingConfig - - options
  • Method Details

    • checkNode

      public boolean checkNode()
      Checks if further documents are available.
      Returns:
      true if there is at least one more document.
    • getNode

      public Node getNode()
      Reads and composes the next document.
      Returns:
      The root node of the document or null if no more documents are available.
    • getSingleNode

      public Node getSingleNode()
      Reads a document from a source that contains only one document.

      If the stream contains more than one document an exception is thrown.

      Returns:
      The root node of the document or null if no document is available.
    • composeNode

      private Node composeNode(Node parent)
    • composeScalarNode

      protected Node composeScalarNode(String anchor, List<CommentLine> blockComments)
    • composeSequenceNode

      protected Node composeSequenceNode(String anchor)
    • composeMappingNode

      protected Node composeMappingNode(String anchor)
    • composeMappingChildren

      protected void composeMappingChildren(List<NodeTuple> children, MappingNode node)
      Compose the members of mapping
      Parameters:
      children - - the data to fill
      node - - the source
    • composeKeyNode

      protected Node composeKeyNode(MappingNode node)
      To be able to override composeNode(node) which is a key
      Parameters:
      node - - the source
      Returns:
      node
    • composeValueNode

      protected Node composeValueNode(MappingNode node)
      To be able to override composeNode(node) which is a value
      Parameters:
      node - - the source
      Returns:
      node
    • increaseNestingDepth

      private void increaseNestingDepth()
      Increase nesting depth and fail when it exceeds the denied limit
    • decreaseNestingDepth

      private void decreaseNestingDepth()
      Indicate that the collection is finished and the nesting is decreased