org.aspectj.org.eclipse.jdt.internal.formatter
Class DefaultCodeFormatter

java.lang.Object
  extended by org.aspectj.org.eclipse.jdt.core.formatter.CodeFormatter
      extended by org.aspectj.org.eclipse.jdt.internal.formatter.DefaultCodeFormatter

public class DefaultCodeFormatter
extends CodeFormatter


Field Summary
static boolean DEBUG
          Debug trace
 
Fields inherited from class org.aspectj.org.eclipse.jdt.core.formatter.CodeFormatter
F_INCLUDE_COMMENTS, K_CLASS_BODY_DECLARATIONS, K_COMPILATION_UNIT, K_EXPRESSION, K_JAVA_DOC, K_MULTI_LINE_COMMENT, K_SINGLE_LINE_COMMENT, K_STATEMENTS, K_UNKNOWN
 
Constructor Summary
DefaultCodeFormatter()
           
DefaultCodeFormatter(DefaultCodeFormatterOptions preferences)
           
DefaultCodeFormatter(DefaultCodeFormatterOptions defaultCodeFormatterOptions, java.util.Map options)
           
DefaultCodeFormatter(java.util.Map options)
           
 
Method Summary
 java.lang.String createIndentationString(int indentationLevel)
          Answers the string that corresponds to the indentation to the given indentation level or an empty string if the indentation cannot be computed.
 TextEdit format(int kind, java.lang.String source, int offset, int length, int indentationLevel, java.lang.String lineSeparator)
          Format source, and returns a text edit that correspond to the difference between the given string and the formatted string.
 TextEdit format(int kind, java.lang.String source, IRegion[] regions, int indentationLevel, java.lang.String lineSeparator)
          Format source, and returns a text edit that correspond to the difference between the given string and the formatted string.
 java.lang.String getDebugOutput()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEBUG

public static boolean DEBUG
Debug trace

Constructor Detail

DefaultCodeFormatter

public DefaultCodeFormatter()

DefaultCodeFormatter

public DefaultCodeFormatter(DefaultCodeFormatterOptions preferences)

DefaultCodeFormatter

public DefaultCodeFormatter(DefaultCodeFormatterOptions defaultCodeFormatterOptions,
                            java.util.Map options)

DefaultCodeFormatter

public DefaultCodeFormatter(java.util.Map options)
Method Detail

createIndentationString

public java.lang.String createIndentationString(int indentationLevel)
Description copied from class: CodeFormatter
Answers the string that corresponds to the indentation to the given indentation level or an empty string if the indentation cannot be computed.

This method needs to be overridden in a subclass.

The default implementation returns an empty string.

Overrides:
createIndentationString in class CodeFormatter
Parameters:
indentationLevel - the given indentation level
Returns:
the string corresponding to the right indentation level

format

public TextEdit format(int kind,
                       java.lang.String source,
                       int offset,
                       int length,
                       int indentationLevel,
                       java.lang.String lineSeparator)
Description copied from class: CodeFormatter
Format source, and returns a text edit that correspond to the difference between the given string and the formatted string.

It returns null if the given string cannot be formatted.

If the offset position is matching a whitespace, the result can include whitespaces. It would be up to the caller to get rid of preceding whitespaces.

Specified by:
format in class CodeFormatter
Parameters:
kind - Use to specify the kind of the code snippet to format. It can be any of these:
source - the source to format
offset - the given offset to start recording the edits (inclusive).
length - the given length to stop recording the edits (exclusive).
indentationLevel - the initial indentation level, used to shift left/right the entire source fragment. An initial indentation level of zero or below has no effect.
lineSeparator - the line separator to use in formatted source, if set to null, then the platform default one will be used.
Returns:
the text edit
See Also:
CodeFormatter.format(int, java.lang.String, int, int, int, java.lang.String)

format

public TextEdit format(int kind,
                       java.lang.String source,
                       IRegion[] regions,
                       int indentationLevel,
                       java.lang.String lineSeparator)
Format source, and returns a text edit that correspond to the difference between the given string and the formatted string.

It returns null if the given string cannot be formatted.

If an offset position is matching a whitespace, the result can include whitespaces. It would be up to the caller to get rid of preceding whitespaces.

No region in regions must overlap with any other region in regions. Each region must be within source. There must be at least one region. Regions must be sorted by their offsets, smaller offset first.

Specified by:
format in class CodeFormatter
Parameters:
kind - Use to specify the kind of the code snippet to format. It can be any of these:
source - the source to format
regions - a set of regions in source to format
indentationLevel - the initial indentation level, used to shift left/right the entire source fragment. An initial indentation level of zero or below has no effect.
lineSeparator - the line separator to use in formatted source, if set to null, then the platform default one will be used.
Returns:
the text edit

getDebugOutput

public java.lang.String getDebugOutput()