Package org.apache.bsf.util.cf

# Class CodeFormatter

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

public class CodeFormatter extends 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
  Description
  `static final String`
  `DEFAULT_DELIM`
  The default set of delimiters.
  `static final int`
  `DEFAULT_MAX`
  The default maximum line length.
  `static final String`
  `DEFAULT_S_DELIM`
  The default set of sticky delimiters.
  `static final int`
  `DEFAULT_STEP`
  The default size of the indentation step.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CodeFormatter()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `formatCode(Reader source, Writer target)`
  Formats the code read from `source`, and writes the formatted code to `target`.
  `String`
  `getDelimiters()`
  Gets the set of delimiters.
  `int`
  `getIndentationStep()`
  Gets the size of the indentation step.
  `int`
  `getMaxLineLength()`
  Gets the maximum line length.
  `String`
  `getStickyDelimiters()`
  Gets the set of sticky delimiters.
  `void`
  `setDelimiters(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(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 Details

  - ### 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 String DEFAULT_DELIM
    The default set of delimiters.
    See Also:
      - Constant Field Values

  - ### DEFAULT_S_DELIM

    public static final String DEFAULT_S_DELIM
    The default set of sticky delimiters.
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### CodeFormatter

    public CodeFormatter()

- ## Method Details

  - ### formatCode

    public void formatCode(Reader source, 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 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 String getStickyDelimiters()
    Gets the set of sticky delimiters.
    Returns:
      the set of sticky delimiters.
    See Also:
      - `setStickyDelimiters(java.lang.String)`

  - ### setDelimiters

    public void setDelimiters(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(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()`