org.apache.bsf.util.cf

Class 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.

Author: Matthew J. Duftler

Field Summary
static StringDEFAULT_DELIM
The default set of delimiters.
static intDEFAULT_MAX
The default maximum line length.
static intDEFAULT_STEP
The default size of the indentation step.
static StringDEFAULT_S_DELIM
The default set of sticky delimiters.
Method Summary
voidformatCode(Reader source, Writer target)
Formats the code read from source, and writes the formatted code to target.
StringgetDelimiters()
Gets the set of delimiters.
intgetIndentationStep()
Gets the size of the indentation step.
intgetMaxLineLength()
Gets the maximum line length.
StringgetStickyDelimiters()
Gets the set of sticky delimiters.
voidsetDelimiters(String newDelimiters)
Sets the set of delimiters; default set is "(+".
voidsetIndentationStep(int newIndentationStep)
Sets the size of the indentation step; default size is 2.
voidsetMaxLineLength(int newMaxLineLength)
Sets the (desired) maximum line length; default length is 74.
voidsetStickyDelimiters(String newStickyDelimiters)
Sets the set of sticky delimiters; default set is ",".

Field Detail

DEFAULT_DELIM

public static final String DEFAULT_DELIM
The default set of delimiters.

DEFAULT_MAX

public static final int DEFAULT_MAX
The default maximum line length.

DEFAULT_STEP

public static final int DEFAULT_STEP
The default size of the indentation step.

DEFAULT_S_DELIM

public static final String DEFAULT_S_DELIM
The default set of sticky delimiters.

Method Detail

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: CodeFormatter

getIndentationStep

public int getIndentationStep()
Gets the size of the indentation step.

Returns: the size of the indentation step.

See Also: CodeFormatter

getMaxLineLength

public int getMaxLineLength()
Gets the maximum line length.

Returns: the maximum line length.

See Also: CodeFormatter

getStickyDelimiters

public String getStickyDelimiters()
Gets the set of sticky delimiters.

Returns: the set of sticky delimiters.

See Also: CodeFormatter

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: CodeFormatter

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: CodeFormatter

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: CodeFormatter

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: CodeFormatter