Interface StringTemplateWriter

  • All Known Implementing Classes:
    AutoIndentWriter, NoIndentWriter

    public interface StringTemplateWriter
    Generic StringTemplate output writer filter. Literals and the elements of expressions are emitted via write(). Separators are emitted via writeSeparator() because they must be handled specially when wrapping lines (we don't want to wrap in between an element and it's separator).
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int NO_WRAP  
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void popAnchorPoint()  
      java.lang.String popIndentation()  
      void pushAnchorPoint()  
      void pushIndentation​(java.lang.String indent)  
      void setLineWidth​(int lineWidth)  
      int write​(java.lang.String str)
      Write the string and return how many actual chars were written.
      int write​(java.lang.String str, java.lang.String wrap)
      Same as write, but wrap lines using the indicated string as the wrap character (such as "\n").
      int writeSeparator​(java.lang.String str)
      Write a separator.
      int writeWrapSeparator​(java.lang.String wrap)
      Because we might need to wrap at a non-atomic string boundary (such as when we wrap in between template applications ]}; wrap>) we need to expose the wrap string writing just like for the separator.
    • Method Detail

      • pushIndentation

        void pushIndentation​(java.lang.String indent)
      • popIndentation

        java.lang.String popIndentation()
      • pushAnchorPoint

        void pushAnchorPoint()
      • popAnchorPoint

        void popAnchorPoint()
      • setLineWidth

        void setLineWidth​(int lineWidth)
      • write

        int write​(java.lang.String str)
           throws java.io.IOException
        Write the string and return how many actual chars were written. With autoindentation and wrapping, more chars than length(str) can be emitted. No wrapping is done.
        Throws:
        java.io.IOException
      • write

        int write​(java.lang.String str,
                  java.lang.String wrap)
           throws java.io.IOException
        Same as write, but wrap lines using the indicated string as the wrap character (such as "\n").
        Throws:
        java.io.IOException
      • writeWrapSeparator

        int writeWrapSeparator​(java.lang.String wrap)
                        throws java.io.IOException
        Because we might need to wrap at a non-atomic string boundary (such as when we wrap in between template applications ]}; wrap>) we need to expose the wrap string writing just like for the separator.
        Throws:
        java.io.IOException
      • writeSeparator

        int writeSeparator​(java.lang.String str)
                    throws java.io.IOException
        Write a separator. Same as write() except that a \n cannot be inserted before emitting a separator.
        Throws:
        java.io.IOException