Interface LineAppendable

All Superinterfaces:
Appendable, Iterable<LineInfo>
All Known Subinterfaces:
HtmlAppendable
All Known Implementing Classes:
HtmlAppendableBase, HtmlBuilder, HtmlMarkdownWriter, HtmlWriter, LineAppendableImpl, MarkdownWriter, MarkdownWriterBase

public interface LineAppendable extends Appendable, Iterable<LineInfo>
Used to collect line text for further processing

control output of new lines limiting them to terminate text but not create blank lines, and control number of blank lines output, eliminate spaces before and after an \n, except in prefixes and indents controlled by this class.

allows appending unmodified text in preformatted regions created by openPreFormatted(boolean) and closePreFormatted()

consecutive \n in the data are going go be collapsed to a single \n. To get blank lines use blankLine() or blankLine(int)

tab is converted to spaces if F_CONVERT_TABS or F_COLLAPSE_WHITESPACE option is selected

spaces before and after \n are removed controlled by F_TRIM_TRAILING_WHITESPACE and F_TRIM_LEADING_WHITESPACE

use line(), lineIf(boolean), blankLine() as an alternative to appending \n. use blankLineIf(boolean) and blankLine(int) for appending blank lines.

  • Field Details

    • O_CONVERT_TABS

      static final LineAppendable.Options O_CONVERT_TABS
    • O_COLLAPSE_WHITESPACE

      static final LineAppendable.Options O_COLLAPSE_WHITESPACE
    • O_TRIM_TRAILING_WHITESPACE

      static final LineAppendable.Options O_TRIM_TRAILING_WHITESPACE
    • O_PASS_THROUGH

      static final LineAppendable.Options O_PASS_THROUGH
    • O_TRIM_LEADING_WHITESPACE

      static final LineAppendable.Options O_TRIM_LEADING_WHITESPACE
    • O_TRIM_LEADING_EOL

      static final LineAppendable.Options O_TRIM_LEADING_EOL
    • O_PREFIX_PRE_FORMATTED

      static final LineAppendable.Options O_PREFIX_PRE_FORMATTED
    • O_FORMAT_ALL

      static final BitFieldSet<LineAppendable.Options> O_FORMAT_ALL
    • F_CONVERT_TABS

      static final int F_CONVERT_TABS
    • F_COLLAPSE_WHITESPACE

      static final int F_COLLAPSE_WHITESPACE
    • F_TRIM_TRAILING_WHITESPACE

      static final int F_TRIM_TRAILING_WHITESPACE
    • F_PASS_THROUGH

      static final int F_PASS_THROUGH
    • F_TRIM_LEADING_WHITESPACE

      static final int F_TRIM_LEADING_WHITESPACE
    • F_TRIM_LEADING_EOL

      static final int F_TRIM_LEADING_EOL
    • F_PREFIX_PRE_FORMATTED

      static final int F_PREFIX_PRE_FORMATTED
    • F_FORMAT_ALL

      static final int F_FORMAT_ALL
    • F_WHITESPACE_REMOVAL

      static final int F_WHITESPACE_REMOVAL
    • CONVERT_TABS

      @Deprecated static final int CONVERT_TABS
      Deprecated.
    • COLLAPSE_WHITESPACE

      @Deprecated static final int COLLAPSE_WHITESPACE
      Deprecated.
    • TRIM_TRAILING_WHITESPACE

      @Deprecated static final int TRIM_TRAILING_WHITESPACE
      Deprecated.
    • PASS_THROUGH

      @Deprecated static final int PASS_THROUGH
      Deprecated.
    • ALLOW_LEADING_WHITESPACE

      @Deprecated static final int ALLOW_LEADING_WHITESPACE
      Deprecated.
      ALLOW_LEADING_WHITESPACE is now inverted and named F_TRIM_LEADING_WHITESPACE
      See Also:
    • TRIM_LEADING_WHITESPACE

      @Deprecated static final int TRIM_LEADING_WHITESPACE
      Deprecated.
    • ALLOW_LEADING_EOL

      @Deprecated static final int ALLOW_LEADING_EOL
      Deprecated.
      ALLOW_LEADING_EOL is now inverted and named F_TRIM_LEADING_EOL
      See Also:
    • PREFIX_PRE_FORMATTED

      @Deprecated static final int PREFIX_PRE_FORMATTED
      Deprecated.
    • FORMAT_ALL

      @Deprecated static final int FORMAT_ALL
      Deprecated.
  • Method Details

    • toOptionSet

      static BitFieldSet<LineAppendable.Options> toOptionSet(int options)
    • toOptionSet

      static BitFieldSet<LineAppendable.Options> toOptionSet(LineAppendable.Options... options)
    • getOptions

      default int getOptions()
      Get current options as bit mask flags
      Returns:
      option flags
    • getEmptyAppendable

      @NotNull @NotNull LineAppendable getEmptyAppendable()
    • copyAppendable

      @NotNull default @NotNull LineAppendable copyAppendable(int startLine, int endLine, boolean withPrefixes)
      Make a copy of this appendable with the given line range
      Parameters:
      startLine - start line
      endLine - end line
      withPrefixes - true if to include prefixes
      Returns:
      copy of appendable with requested content
    • copyAppendable

      @NotNull default @NotNull LineAppendable copyAppendable(int startLine, int endLine)
    • copyAppendable

      @NotNull default @NotNull LineAppendable copyAppendable(int startLine)
    • copyAppendable

      @NotNull default @NotNull LineAppendable copyAppendable()
    • copyAppendable

      @NotNull default @NotNull LineAppendable copyAppendable(boolean withPrefixes)
    • getOptionSet

      @NotNull @NotNull BitFieldSet<LineAppendable.Options> getOptionSet()
      Get current options as set which can be used to modify options
      Returns:
      mutable option set
    • pushOptions

      @NotNull @NotNull LineAppendable pushOptions()
    • popOptions

      @NotNull @NotNull LineAppendable popOptions()
    • noTrimLeading

      @NotNull default @NotNull LineAppendable noTrimLeading()
    • trimLeading

      @NotNull default @NotNull LineAppendable trimLeading()
    • preserveSpaces

      @NotNull default @NotNull LineAppendable preserveSpaces()
    • noPreserveSpaces

      @NotNull default @NotNull LineAppendable noPreserveSpaces()
    • removeOptions

      @NotNull default @NotNull LineAppendable removeOptions(int flags)
    • addOptions

      @NotNull default @NotNull LineAppendable addOptions(int flags)
    • changeOptions

      @NotNull @NotNull LineAppendable changeOptions(int addFlags, int removeFlags)
    • setOptions

      @NotNull default @NotNull LineAppendable setOptions(int flags)
      Set options on processing text
      Parameters:
      flags - option flags
      Returns:
      this
    • setOptions

      @NotNull default @NotNull LineAppendable setOptions(LineAppendable.Options... options)
    • setOptions

      @NotNull default @NotNull LineAppendable setOptions(BitFieldSet<LineAppendable.Options> options)
      Set options on processing text
      Parameters:
      options - option set
      Returns:
      this
    • getBuilder

      @NotNull @NotNull ISequenceBuilder<?,?> getBuilder()
      Get builder used for accumulation
      Returns:
      builder used for accumulation
    • getTrailingBlankLines

      int getTrailingBlankLines(int endLine)
      Get trailing blank line count ending on given line
      Parameters:
      endLine - end line
      Returns:
      number of trailing blank lines
    • getTrailingBlankLines

      default int getTrailingBlankLines()
    • endsWithEOL

      boolean endsWithEOL()
      Returns:
      true if not empty and have no unterminated lines
    • append

      @NotNull @NotNull LineAppendable append(@NotNull @NotNull CharSequence csq)
      Specified by:
      append in interface Appendable
    • append

      @NotNull @NotNull LineAppendable append(@NotNull @NotNull CharSequence csq, int start, int end)
      Specified by:
      append in interface Appendable
    • append

      @NotNull @NotNull LineAppendable append(char c)
      Specified by:
      append in interface Appendable
    • append

      @NotNull @NotNull LineAppendable append(char c, int count)
    • appendAll

      @NotNull default @NotNull LineAppendable appendAll(@NotNull @NotNull Iterable<CharSequence> sequences)
    • append

      @NotNull @NotNull LineAppendable append(@NotNull @NotNull LineAppendable lineAppendable, int startLine, int endLine, boolean withPrefixes)
      Append lines from another line formatting appendable.

      NOTE: does not apply formatting options. Instead, appends already formatted lines as is

      If there is an accumulating line, it will be terminated by an EOL before appending lines

      Parameters:
      lineAppendable - lines to append, any unterminated lines will be terminated by a line() invocation.
      startLine - start line to append
      endLine - end line to append, endLine is excluded.
      withPrefixes - true if to include prefixes from the lineAppendable.
      Returns:
      this
    • append

      @NotNull default @NotNull LineAppendable append(@NotNull @NotNull LineAppendable lineAppendable)
      Append lines from another line formatting appendable.

      NOTE: does not apply formatting options other than prefix. Line text is used as is.

      If there is an unterminated line its contents will be used as leading text of the first appended line

      Parameters:
      lineAppendable - lines to append
      Returns:
      this
    • append

      @NotNull default @NotNull LineAppendable append(@NotNull @NotNull LineAppendable lineAppendable, boolean withPrefixes)
      Append lines from another line formatting appendable.

      NOTE: does not apply formatting options other than prefix. Line text is used as is.

      If there is an unterminated line its contents will be used as leading text of the first appended line

      Parameters:
      lineAppendable - lines to append
      withPrefixes - true if to include prefixes from the lineAppendable.
      Returns:
      this
    • line

      @NotNull @NotNull LineAppendable line()
      Add a new line if there was any unterminated text appended or if this is a preformatted region
      Returns:
      this
    • lineWithTrailingSpaces

      @NotNull @NotNull LineAppendable lineWithTrailingSpaces(int count)
      Add a new line, keep trailing spaces if there was any unterminated text appended

      NOTE: only applies in preformatted region or if the line is not empty

      Parameters:
      count - number of trailing spaces to add
      Returns:
      this
    • lineIf

      @NotNull @NotNull LineAppendable lineIf(boolean predicate)
      Add a new line, if predicate is true and line() would add an EOL.
      Parameters:
      predicate - call line() if value is true.
      Returns:
      this
    • blankLine

      @NotNull @NotNull LineAppendable blankLine()
      Add a blank line, if there is not one already appended.
      Returns:
      this
    • blankLineIf

      @NotNull @NotNull LineAppendable blankLineIf(boolean predicate)
      Add a blank line, if predicate is true and there isn't already blank lines appended.
      Parameters:
      predicate - when true append blank line
      Returns:
      this
    • blankLine

      @NotNull @NotNull LineAppendable blankLine(int count)
      Add a blank lines, if there isn't already given number of blank lines appended. Will append only enough blank lines to increase it to given level. If more are already in the wings then nothing is done.
      Parameters:
      count - number of blank lines to append
      Returns:
      this
    • isPreFormatted

      boolean isPreFormatted()
      Returns:
      true if in pre-formatted region
    • openPreFormatted

      @NotNull @NotNull LineAppendable openPreFormatted(boolean addPrefixToFirstLine)
      Open preformatted section and suspend content modification
      Parameters:
      addPrefixToFirstLine - if true will add the current prefix to first line
      Returns:
      this
    • closePreFormatted

      @NotNull @NotNull LineAppendable closePreFormatted()
      Close preformatted section and suspend content modification
      Returns:
      this
    • indent

      @NotNull @NotNull LineAppendable indent()
      Increase the indent level, will terminate the current line if there is unterminated text

      NOTE: this is equivalent to pushPrefix(), addPrefix(getIndentPrefix()) but adds a flag to validate that unIndent() is called only on prefixes added by this method

      Returns:
      this
    • unIndent

      @NotNull @NotNull LineAppendable unIndent()
      Decrease the indent level, min level is 0, will terminate the current line if there is unterminated text

      NOTE: this is equivalent to popPrefix() but with validation that it is called only on prefixes added by indent()

      Returns:
      this
    • unIndentNoEol

      @NotNull @NotNull LineAppendable unIndentNoEol()
      Decrease the indent level, if there is unterminated text then unindented prefix is to be applied after the next EOL.

      Will NOT terminate the current line if there is unterminated text

      NOTE: should be used with addIndentOnFirstEOL(Runnable) if callback is invoked

      Returns:
      this
    • getIndentPrefix

      @NotNull @NotNull BasedSequence getIndentPrefix()
      Get prefix appended after a new line character for every indent level
      Returns:
      char sequence of the current indent prefix used for each indent level
    • setIndentPrefix

      @NotNull @NotNull LineAppendable setIndentPrefix(@Nullable @Nullable CharSequence prefix)
      Set prefix to append after a new line character for every indent level
      Parameters:
      prefix - prefix characters for new lines appended after this is set
      Returns:
      this
    • getPrefix

      @NotNull @NotNull BasedSequence getPrefix()
      Get prefix being applied to all lines, even in pre-formatted sections This is the prefix that will be set after EOL
      Returns:
      char sequence of the current prefix
    • getBeforeEolPrefix

      @NotNull @NotNull BasedSequence getBeforeEolPrefix()
      Get prefix used before EOL
      Returns:
      char sequence of the current prefix
    • addPrefix

      @NotNull @NotNull LineAppendable addPrefix(@NotNull @NotNull CharSequence prefix, boolean afterEol)
      Add to prefix appended after a new line character for every line and after a new line in pre-formatted sections

      This appends the sequence to current prefix

      Parameters:
      prefix - prefix characters to add to current prefix for new lines appended after this is set
      afterEol - if true prefix will take effect after EOL
      Returns:
      this
    • setPrefix

      @NotNull @NotNull LineAppendable setPrefix(@Nullable @Nullable CharSequence prefix, boolean afterEol)
      Set prefix appended after a new line character for every line and after a new line in pre-formatted sections

      This appends the sequence to current prefix

      Parameters:
      prefix - prefix characters to add to current prefix for new lines appended after this is set
      afterEol - if true prefix will take effect after EOL
      Returns:
      this
    • addPrefix

      @NotNull default @NotNull LineAppendable addPrefix(@NotNull @NotNull CharSequence prefix)
      Add to prefix appended after a new line character for every line and after a new line in pre-formatted sections

      This appends the sequence to current prefix

      Parameters:
      prefix - prefix characters to add to current prefix for new lines appended after this is set
      Returns:
      this
    • setPrefix

      @NotNull default @NotNull LineAppendable setPrefix(@NotNull @NotNull CharSequence prefix)
      Set prefix appended after a new line character for every line and after a new line in pre-formatted sections

      This appends the sequence to current prefix

      Parameters:
      prefix - prefix characters to add to current prefix for new lines appended after this is set
      Returns:
      this
    • pushPrefix

      @NotNull @NotNull LineAppendable pushPrefix()
      Save the current prefix on the stack
      Returns:
      this
    • popPrefix

      @NotNull @NotNull LineAppendable popPrefix(boolean afterEol)
      Pop a prefix from the stack and set the current prefix
      Parameters:
      afterEol - if true prefix will take effect after EOL
      Returns:
      this
    • popPrefix

      @NotNull default @NotNull LineAppendable popPrefix()
      Pop a prefix from the stack and set the current prefix
      Returns:
      this
    • getAfterEolPrefixDelta

      int getAfterEolPrefixDelta()
      Get pending prefix after EOL
      Returns:
      change in prefix length after next eol
    • column

      int column()
      Get column offset after last append
      Returns:
      column offset after last append
    • offset

      int offset()
      Get text offset of all output lines, excluding any text for the last line being accumulated
      Returns:
      offset of text as would be returned for all
    • offsetWithPending

      int offsetWithPending()
      Get offset after last append as if EOL was added but without the EOL itself
      Returns:
      offset as would be returned by offset() after line() call less 1 for EOL
    • isPendingSpace

      boolean isPendingSpace()
      Test if trailing text ends in space or tab
      Returns:
      true if ending in space or tab
    • getPendingSpace

      int getPendingSpace()
      Get number of spaces at end of pending text
      Returns:
      number of eols at end of text
    • getPendingEOL

      int getPendingEOL()
      Get number of EOLs at end of appendable, this is actually number of tail blank lines
      Returns:
      number of eols at end of text
    • lineOnFirstText

      @NotNull @NotNull LineAppendable lineOnFirstText(boolean value)
    • setLineOnFirstText

      @NotNull default @NotNull LineAppendable setLineOnFirstText()
    • clearLineOnFirstText

      @NotNull default @NotNull LineAppendable clearLineOnFirstText()
    • addIndentOnFirstEOL

      @NotNull @NotNull LineAppendable addIndentOnFirstEOL(@NotNull @NotNull Runnable listener)
      Add an indent on first EOL appended and run runnable
      Parameters:
      listener - runnable to run if adding indent on first EOL
      Returns:
      this
    • removeIndentOnFirstEOL

      @NotNull @NotNull LineAppendable removeIndentOnFirstEOL(@NotNull @NotNull Runnable listener)
      Remove runnable, has no effect if EOL was already appended and runnable was run
      Parameters:
      listener - runnable added with addIndentOnFirstEOL
      Returns:
      this
    • getLineCount

      int getLineCount()
      Get the number of lines appended, not including any unterminated ones
      Returns:
      number of full lines appended
    • isEmpty

      default boolean isEmpty()
      Kotlin compatibility
      Returns:
      true if have no terminated lines
    • isNotEmpty

      default boolean isNotEmpty()
      Kotlin compatibility
      Returns:
      true if have terminated lines
    • getLineCountWithPending

      int getLineCountWithPending()
      Get the number of lines appended, including any unterminated ones

      NOTE: if there is an unterminated line it will be available as the last line, without being terminated explicitly

      Returns:
      number of lines appended
    • getLineInfo

      @NotNull @NotNull LineInfo getLineInfo(int lineIndex)
      Get Line information at given line index

      NOTE: if there is an unterminated line it will be available as the last line, without being terminated explicitly

      Parameters:
      lineIndex - line index for the info to get
      Returns:
      line info
    • get

      @NotNull default @NotNull LineInfo get(int lineIndex)
      Kotlin index operator
      Parameters:
      lineIndex - line index
      Returns:
      line info
    • getLine

      @NotNull @NotNull BasedSequence getLine(int lineIndex)
      Get Line at given line index

      NOTE: if there is an unterminated line it will be available as the last line, without being terminated explicitly

      Parameters:
      lineIndex - line index
      Returns:
      line char sequence
    • iterator

      @NotNull @NotNull Iterator<LineInfo> iterator()
      Full line iterator NOTE: will not issue line() to terminate any unterminated lines before iteration and will not include unterminated lines in iteration
      Specified by:
      iterator in interface Iterable<LineInfo>
      Returns:
      iterator over lines
    • getLines

      @NotNull @NotNull Iterable<BasedSequence> getLines(int maxTrailingBlankLines, int startLine, int endLine, boolean withPrefixes)
      Full line iterator over some lines

      NOTE: will issue line() to terminate any unterminated lines before iteration

      Parameters:
      maxTrailingBlankLines - maximum trailing blank lines, -1 if trailing EOL should be removed
      startLine - start line index
      endLine - end line index, exclusive
      withPrefixes - true if prefixes should be included, else only non-prefix line text
      Returns:
      iterator over lines
    • getLines

      @NotNull default @NotNull Iterable<BasedSequence> getLines(int maxTrailingBlankLines)
    • getLines

      @NotNull default @NotNull Iterable<BasedSequence> getLines()
    • getLines

      @NotNull default @NotNull Iterable<BasedSequence> getLines(int maxTrailingBlankLines, boolean withPrefixes)
    • getLines

      @NotNull default @NotNull Iterable<BasedSequence> getLines(boolean withPrefixes)
    • getLinesInfo

      @NotNull @NotNull Iterable<LineInfo> getLinesInfo(int maxTrailingBlankLines, int startLine, int endLine)
      Full line iterator with line info

      NOTE: will issue line() to terminate any unterminated lines before iteration

      Parameters:
      maxTrailingBlankLines - maximum trailing blank lines, -1 if trailing EOL should be removed
      startLine - start line index
      endLine - end line index, exclusive
      Returns:
      iterator over lines
    • getLinesInfo

      @NotNull default @NotNull Iterable<LineInfo> getLinesInfo(int maxTrailingBlankLines)
    • getLinesInfo

      @NotNull default @NotNull Iterable<LineInfo> getLinesInfo()
    • getLineContent

      @NotNull default @NotNull BasedSequence getLineContent(int lineIndex)
      Get Line content of given line
      Parameters:
      lineIndex - line index
      Returns:
      char sequence for the line
    • getLinePrefix

      @NotNull default @NotNull BasedSequence getLinePrefix(int lineIndex)
      Get prefix of given line
      Parameters:
      lineIndex - line index
      Returns:
      line prefix char sequence
    • setPrefixLength

      void setPrefixLength(int lineIndex, int prefixLength)
      Change prefix length for a given line without changing the line content
      Parameters:
      lineIndex - index of the line
      prefixLength - new prefix length
    • setLine

      void setLine(int lineIndex, @NotNull @NotNull CharSequence prefix, @NotNull @NotNull CharSequence text)
      Set content and prefix for a line
      Parameters:
      lineIndex - index of the line
      prefix - prefix of the line
      text - content text of the line
    • insertLine

      void insertLine(int lineIndex, @NotNull @NotNull CharSequence prefix, @NotNull @NotNull CharSequence text)
      Insert a line at the index with given content and prefix for a line
      Parameters:
      lineIndex - index of the line
      prefix - prefix of the line
      text - content text of the line
    • removeLines

      @NotNull @NotNull LineAppendable removeLines(int startLine, int endLine)
    • toString

      @NotNull @NotNull String toString(int maxBlankLines, int maxTrailingBlankLines, boolean withPrefixes)
      get the resulting text for all lines
      Parameters:
      maxBlankLines - maximum blank lines to allow in the text
      maxTrailingBlankLines - maximum trailing blank lines
      withPrefixes - true if to include prefixes
      Returns:
      resulting text
    • toString

      @NotNull default @NotNull String toString(int maxBlankLines, int maxTrailingBlankLines)
    • toString

      @NotNull default @NotNull String toString(int maxBlankLines, boolean withPrefixes)
    • toString

      @NotNull default @NotNull String toString(boolean withPrefixes)
    • toString

      @NotNull default @NotNull String toString(int maxBlankLines)
      get the resulting text for all lines
      Parameters:
      maxBlankLines - maximum blank lines to allow, if -1 then no trailing EOL will be generated
      Returns:
      resulting text
    • toSequence

      @NotNull @NotNull CharSequence toSequence(int maxBlankLines, int maxTrailingBlankLines, boolean withPrefixes)
      get the resulting text for all lines
      Parameters:
      maxBlankLines - maximum blank lines to allow in the text
      maxTrailingBlankLines - maximum trailing blank lines
      withPrefixes - true if to include prefixes
      Returns:
      resulting text
    • toSequence

      @NotNull default @NotNull CharSequence toSequence(int maxBlankLines, int maxTrailingBlankLines)
    • toSequence

      @NotNull default @NotNull CharSequence toSequence(int maxBlankLines, boolean withPrefixes)
    • toSequence

      @NotNull default @NotNull CharSequence toSequence(boolean withPrefixes)
    • toSequence

      @NotNull default @NotNull CharSequence toSequence()
    • appendTo

      @Deprecated default <T extends Appendable> T appendTo(@NotNull T out, int maxTrailingBlankLines) throws IOException
      Deprecated.
      Throws:
      IOException
    • appendTo

      <T extends Appendable> T appendTo(@NotNull T out, boolean withPrefixes, int maxBlankLines, int maxTrailingBlankLines, int startLine, int endLine) throws IOException
      append lines to appendable with given maximum trailing blank lines and given prefix to add to all lines

      NOTE:

      Type Parameters:
      T - type of out
      Parameters:
      out - appendable to output the resulting lines
      withPrefixes - true if to include prefixes
      maxBlankLines - maximum blank lines to allow in the body,
      maxTrailingBlankLines - maximum trailing blank lines at the end, if <maxBlankLines then maxBlankLines will be used, if -1 then no trailing EOL will be added
      startLine - line from which to start output
      endLine - line at which to stop output
      Returns:
      out
      Throws:
      IOException - if thrown by appendable
    • appendTo

      default <T extends Appendable> T appendTo(@NotNull T out, int maxBlankLines, int maxTrailingBlankLines, int startLine, int endLine) throws IOException
      Throws:
      IOException
    • appendTo

      default <T extends Appendable> T appendTo(@NotNull T out, int maxBlankLines, int maxTrailingBlankLines) throws IOException
      Throws:
      IOException
    • appendTo

      default <T extends Appendable> T appendTo(@NotNull T out) throws IOException
      append lines to appendable with 0 blank lines, if these are desired at the end of the output use appendTo(Appendable, int, int).
      Type Parameters:
      T - type of out
      Parameters:
      out - appendable to output the resulting lines
      Returns:
      out
      Throws:
      IOException - thrown by out.
    • appendToSilently

      default <T extends Appendable> T appendToSilently(@NotNull T out, boolean withPrefixes, int maxBlankLines, int maxTrailingBlankLines, int startLine, int endLine)
    • appendToSilently

      default <T extends Appendable> T appendToSilently(@NotNull T out, int maxBlankLines, int maxTrailingBlankLines, int startLine, int endLine)
    • appendToSilently

      default <T extends Appendable> T appendToSilently(@NotNull T out, int maxBlankLines, int maxTrailingBlankLines)
    • appendToSilently

      default <T extends Appendable> T appendToSilently(@NotNull T out)
    • removeExtraBlankLines

      LineAppendable removeExtraBlankLines(int maxBlankLines, int maxTrailingBlankLines, int startLine, int endLine)
      Normalize the appendable by removing extra blank lines in the body or at the end of given line range
      Parameters:
      maxBlankLines - maximum blank lines to allow in the body
      maxTrailingBlankLines - maximum trailing blank lines ending on endLine, if <maxBlankLines then maxBlankLines will be used
      startLine - line from which to start output
      endLine - line at which to stop output
      Returns:
      this
    • removeExtraBlankLines

      default LineAppendable removeExtraBlankLines(int maxBlankLines, int maxTrailingBlankLines)
    • combinedPrefix

      static CharSequence combinedPrefix(@Nullable @Nullable CharSequence prefix, @Nullable @Nullable CharSequence suffix)