org.apache.bsf.util.cf

## Class CodeFormatter

- java.lang.Object
- - org.apache.bsf.util.cf.CodeFormatter

-     public class CodeFormatter
      extends java.lang.Object

  A `CodeFormatter` bean is used to format raw Java code. It indents, word-wraps, and replaces tab characters with an amount of space characters equal to the size of the `indentationStep` property. To create and use a `CodeFormatter`, you simply instantiate a new `CodeFormatter` bean, and invoke `formatCode(Reader source, Writer target)` with appropriate arguments.
  Version:
    1.0
  Author:
    Matthew J. Duftler

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `DEFAULT_DELIM` The default set of delimiters.
    `static int` | `DEFAULT_MAX` The default maximum line length.
    `static java.lang.String` | `DEFAULT_S_DELIM` The default set of sticky delimiters.
    `static int` | `DEFAULT_STEP` The default size of the indentation step.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CodeFormatter()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `formatCode(java.io.Reader source, java.io.Writer target)` Formats the code read from `source`, and writes the formatted code to `target`.
    `java.lang.String` | `getDelimiters()` Gets the set of delimiters.
    `int` | `getIndentationStep()` Gets the size of the indentation step.
    `int` | `getMaxLineLength()` Gets the maximum line length.
    `java.lang.String` | `getStickyDelimiters()` Gets the set of sticky delimiters.
    `void` | `setDelimiters(java.lang.String newDelimiters)` Sets the set of delimiters; default set is `"(+"`.
    `void` | `setIndentationStep(int newIndentationStep)` Sets the size of the indentation step; default size is `2`.
    `void` | `setMaxLineLength(int newMaxLineLength)` Sets the (desired) maximum line length; default length is `74`.
    `void` | `setStickyDelimiters(java.lang.String newStickyDelimiters)` Sets the set of sticky delimiters; default set is `","`.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### DEFAULT_MAX

          public static final int DEFAULT_MAX

      The default maximum line length.
      See Also:
        Constant Field Values

    - #### DEFAULT_STEP

          public static final int DEFAULT_STEP

      The default size of the indentation step.
      See Also:
        Constant Field Values

    - #### DEFAULT_DELIM

          public static final java.lang.String DEFAULT_DELIM

      The default set of delimiters.
      See Also:
        Constant Field Values

    - #### DEFAULT_S_DELIM

          public static final java.lang.String DEFAULT_S_DELIM

      The default set of sticky delimiters.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### CodeFormatter

          public CodeFormatter()

  - ### Method Detail

    - #### formatCode

          public void formatCode(java.io.Reader source,
                                 java.io.Writer target)

      Formats the code read from `source`, and writes the formatted code to `target`.
      Parameters:
        `source` - where to read the unformatted code from.
        `target` - where to write the formatted code to.

    - #### getDelimiters

          public java.lang.String getDelimiters()

      Gets the set of delimiters.
      Returns:
        the set of delimiters.
      See Also:
        `setDelimiters(java.lang.String)`

    - #### getIndentationStep

          public int getIndentationStep()

      Gets the size of the indentation step.
      Returns:
        the size of the indentation step.
      See Also:
        `setIndentationStep(int)`

    - #### getMaxLineLength

          public int getMaxLineLength()

      Gets the maximum line length.
      Returns:
        the maximum line length.
      See Also:
        `setMaxLineLength(int)`

    - #### getStickyDelimiters

          public java.lang.String getStickyDelimiters()

      Gets the set of sticky delimiters.
      Returns:
        the set of sticky delimiters.
      See Also:
        `setStickyDelimiters(java.lang.String)`

    - #### setDelimiters

          public void setDelimiters(java.lang.String newDelimiters)

      Sets the set of delimiters; default set is `"(+"`.

      Each character represents one delimiter. If a line is ready to be word-wrapped and a delimiter is encountered, the delimiter will appear as the first character on the following line. A quotation mark, `"` or `'`, opening a string is always a delimiter, whether you specify it or not.

      Parameters:
        `newDelimiters` - the new set of delimiters.
      See Also:
        `getDelimiters()`

    - #### setIndentationStep

          public void setIndentationStep(int newIndentationStep)

      Sets the size of the indentation step; default size is `2`.

      This is the number of spaces that lines will be indented (when appropriate).

      Parameters:
        `newIndentationStep` - the new size of the indentation step.
      See Also:
        `getIndentationStep()`

    - #### setMaxLineLength

          public void setMaxLineLength(int newMaxLineLength)

      Sets the (desired) maximum line length; default length is `74`.

      If a token is longer than the requested maximum line length, then the line containing that token will obviously be longer than the desired maximum.

      Parameters:
        `newMaxLineLength` - the new maximum line length.
      See Also:
        `getMaxLineLength()`

    - #### setStickyDelimiters

          public void setStickyDelimiters(java.lang.String newStickyDelimiters)

      Sets the set of sticky delimiters; default set is `","`.

      Each character represents one sticky delimiter. If a line is ready to be word-wrapped and a sticky delimiter is encountered, the sticky delimiter will appear as the last character on the current line. A quotation mark, `"` or `'`, closing a string is always a sticky delimiter, whether you specify it or not.

      Parameters:
        `newStickyDelimiters` - the new set of sticky delimiters.
      See Also:
        `getStickyDelimiters()`