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
           
 
Fields inherited from class org.aspectj.org.eclipse.jdt.core.formatter.CodeFormatter
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.
static CommentRegion createRegion(int kind, IDocument document, Position range, CodeFormatterVisitor formatter)
          Creates a comment region for a specific document partition type.
 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.
 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 final boolean DEBUG
See Also:
Constant Field Values
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

createRegion

public static CommentRegion createRegion(int kind,
                                         IDocument document,
                                         Position range,
                                         CodeFormatterVisitor formatter)
Creates a comment region for a specific document partition type.

Parameters:
kind - the comment snippet kind
document - the document which contains the comment region
range - range of the comment region in the document
Returns:
a new comment region for the comment region range in the document
Since:
3.1

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 overriden 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 preceeding 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: K_EXPRESSION, K_STATEMENTS, K_CLASS_BODY_DECLARATIONS, K_COMPILATION_UNIT, K_UNKNOWN, K_SINGLE_LINE_COMMENT, K_MULTI_LINE_COMMENT, K_JAVA_DOC
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)

getDebugOutput

public java.lang.String getDebugOutput()