Class Emitter

java.lang.Object
org.snakeyaml.engine.v2.emitter.Emitter
All Implemented Interfaces:
Emitable

public final class Emitter extends Object implements Emitable
 Emitter expects events obeying the following grammar:
 stream ::= STREAM-START document* STREAM-END
 document ::= DOCUMENT-START node DOCUMENT-END
 node ::= SCALAR | sequence | mapping
 sequence ::= SEQUENCE-START node* SEQUENCE-END
 mapping ::= MAPPING-START (node node)* MAPPING-END
 
  • Field Details

    • ESCAPE_REPLACEMENTS

      private static final Map<Character,String> ESCAPE_REPLACEMENTS
    • MIN_INDENT

      public static final int MIN_INDENT
      indent cannot be zero spaces
      See Also:
    • MAX_INDENT

      public static final int MAX_INDENT
      indent should not be more than 10 spaces
      See Also:
    • SPACE

      private static final String SPACE
      See Also:
    • DEFAULT_TAG_PREFIXES

      private static final Map<String,String> DEFAULT_TAG_PREFIXES
    • stream

      private final StreamDataWriter stream
    • states

      private final ArrayStack<EmitterState> states
    • state

      private EmitterState state
    • events

      private final Queue<Event> events
    • event

      private Event event
    • indents

      private final ArrayStack<Integer> indents
    • indent

      private Integer indent
    • flowLevel

      private int flowLevel
    • rootContext

      private boolean rootContext
    • mappingContext

      private boolean mappingContext
    • simpleKeyContext

      private boolean simpleKeyContext
    • column

      private int column
    • whitespace

      private boolean whitespace
    • indention

      private boolean indention
    • openEnded

      private boolean openEnded
    • canonical

      private final Boolean canonical
    • multiLineFlow

      private final Boolean multiLineFlow
    • allowUnicode

      private final boolean allowUnicode
    • bestIndent

      private int bestIndent
    • indicatorIndent

      private final int indicatorIndent
    • indentWithIndicator

      private final boolean indentWithIndicator
    • bestWidth

      private int bestWidth
    • bestLineBreak

      private final String bestLineBreak
    • splitLines

      private final boolean splitLines
    • maxSimpleKeyLength

      private final int maxSimpleKeyLength
    • emitComments

      private final boolean emitComments
    • tagPrefixes

      private Map<String,String> tagPrefixes
    • preparedAnchor

      private Optional<Anchor> preparedAnchor
    • preparedTag

      private String preparedTag
    • analysis

      private ScalarAnalysis analysis
    • scalarStyle

      private Optional<ScalarStyle> scalarStyle
    • blockCommentsCollector

      private final CommentEventsCollector blockCommentsCollector
    • inlineCommentsCollector

      private final CommentEventsCollector inlineCommentsCollector
    • HANDLE_FORMAT

      private static final Pattern HANDLE_FORMAT
  • Constructor Details

    • Emitter

      public Emitter(DumpSettings opts, StreamDataWriter stream)
      Create
      Parameters:
      opts - - configuration options
      stream - - output stream
  • Method Details

    • emit

      public void emit(Event event)
      Description copied from interface: Emitable
      Serialise event to bytes
      Specified by:
      emit in interface Emitable
      Parameters:
      event - - the source
    • needMoreEvents

      private boolean needMoreEvents()
    • needEvents

      private boolean needEvents(Iterator<Event> iter, int count)
    • increaseIndent

      private void increaseIndent(boolean isFlow, boolean indentless)
    • expectNode

      private void expectNode(boolean root, boolean mapping, boolean simpleKey)
    • handleNodeEvent

      private void handleNodeEvent(Event.ID id)
    • expectAlias

      private void expectAlias()
    • expectScalar

      private void expectScalar()
    • expectFlowSequence

      private void expectFlowSequence()
    • expectFlowMapping

      private void expectFlowMapping()
    • expectBlockSequence

      private void expectBlockSequence()
    • expectBlockMapping

      private void expectBlockMapping()
    • isFoldedOrLiteral

      private boolean isFoldedOrLiteral(Event event)
    • checkEmptySequence

      private boolean checkEmptySequence()
    • checkEmptyMapping

      private boolean checkEmptyMapping()
    • checkSimpleKey

      private boolean checkSimpleKey()
    • processAnchor

      private void processAnchor(String indicator)
    • processTag

      private void processTag()
    • chooseScalarStyle

      private Optional<ScalarStyle> chooseScalarStyle(ScalarEvent ev)
    • processScalar

      private void processScalar()
    • prepareVersion

      private String prepareVersion(SpecVersion version)
    • prepareTagHandle

      private String prepareTagHandle(String handle)
    • prepareTagPrefix

      private String prepareTagPrefix(String prefix)
    • prepareTag

      private String prepareTag(String tag)
    • analyzeScalar

      private ScalarAnalysis analyzeScalar(String scalar)
    • flushStream

      void flushStream()
    • writeStreamStart

      void writeStreamStart()
    • writeStreamEnd

      void writeStreamEnd()
    • writeIndicator

      void writeIndicator(String indicator, boolean needWhitespace, boolean whitespace, boolean indentation)
    • writeIndent

      void writeIndent()
    • writeWhitespace

      private void writeWhitespace(int length)
    • writeLineBreak

      private void writeLineBreak(String data)
    • writeVersionDirective

      void writeVersionDirective(String versionText)
    • writeTagDirective

      void writeTagDirective(String handleText, String prefixText)
    • writeSingleQuoted

      private void writeSingleQuoted(String text, boolean split)
    • writeDoubleQuoted

      private void writeDoubleQuoted(String text, boolean split)
    • writeCommentLines

      private boolean writeCommentLines(List<CommentLine> commentLines)
    • writeBlockComment

      private void writeBlockComment()
    • writeInlineComments

      private boolean writeInlineComments()
    • determineBlockHints

      private String determineBlockHints(String text)
    • writeFolded

      void writeFolded(String text, boolean split)
    • writeLiteral

      void writeLiteral(String text)
    • writePlain

      void writePlain(String text, boolean split)