APIdia Launch Partner
Top Description Inners Fields Constructors Methods
com.sun.tools.javac.util

public Class BasicDiagnosticFormatter

extends AbstractDiagnosticFormatter
Class Inheritance
Imports
java.util.Collection, .EnumMap, .EnumSet, .HashMap, .Locale, .Map, java.util.regex.Matcher, javax.tools.JavaFileObject, com.sun.tools.javac.util.AbstractDiagnosticFormatter.SimpleConfiguration, .BasicDiagnosticFormatter.BasicConfiguration

A basic formatter for diagnostic messages. The basic formatter will format a diagnostic according to one of three format patterns, depending on whether or not the source name and position are set. The formatter supports a printf-like string for patterns with the following special characters:

This is NOT part of any supported API. If you write code that depends on this, you do so at your own risk. This code and its internal interfaces are subject to change or deletion without notice.

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class

Field Summary

Inherited from com.sun.tools.javac.util.AbstractDiagnosticFormatter:
depthmessagesprinter

Constructor Summary

AccessConstructor and Description
public
BasicDiagnosticFormatter(Options
list of command-line options
options
,
JavacMessages
JavacMessages object used for i18n
msgs
)

Create a basic formatter based on the supplied options.

public
BasicDiagnosticFormatter(JavacMessages
JavacMessages object used for i18n
msgs
)

Create a standard basic formatter

Method Summary

Modifier and TypeMethod and Description
protected String
public String
public String
formatMessage(JCDiagnostic d, Locale l)

Implements com.sun.tools.javac.api.DiagnosticFormatter.formatMessage.

Controls the way in which a diagnostic message is displayed.

protected String
public BasicDiagnosticFormatter.BasicConfiguration
private String
Inherited from com.sun.tools.javac.util.AbstractDiagnosticFormatter:
displaySourceformatformatArgumentformatArgumentsformatIterableformatKindformatLintCategoryformatPositionformatSourceformatSourceLineformatSubdiagnosticformatSubdiagnosticsgetPrinterindentindentStringisRawlocalizesetPrinter

Constructor Detail

BasicDiagnosticFormatterback to summary
public BasicDiagnosticFormatter(Options options, JavacMessages msgs)

Create a basic formatter based on the supplied options.

Parameters
options:Options

list of command-line options

msgs:JavacMessages

JavacMessages object used for i18n

BasicDiagnosticFormatterback to summary
public BasicDiagnosticFormatter(JavacMessages msgs)

Create a standard basic formatter

Parameters
msgs:JavacMessages

JavacMessages object used for i18n

Method Detail

addSourceLineIfNeededback to summary
protected String addSourceLineIfNeeded(JCDiagnostic d, String msg)
formatDiagnosticback to summary
public String formatDiagnostic(JCDiagnostic d, Locale l)

Implements abstract com.sun.tools.javac.util.AbstractDiagnosticFormatter.formatDiagnostic.

formatMessageback to summary
public String formatMessage(JCDiagnostic d, Locale l)

Implements com.sun.tools.javac.api.DiagnosticFormatter.formatMessage.

Doc from com.sun.tools.javac.api.DiagnosticFormatter.formatMessage.

Controls the way in which a diagnostic message is displayed.

formatMetaback to summary
protected String formatMeta(char c, JCDiagnostic d, Locale l)
getConfigurationback to summary
public BasicDiagnosticFormatter.BasicConfiguration getConfiguration()

Overrides com.sun.tools.javac.util.AbstractDiagnosticFormatter.getConfiguration.

Implements com.sun.tools.javac.api.DiagnosticFormatter.getConfiguration.

Doc from com.sun.tools.javac.api.DiagnosticFormatter.getConfiguration.

Get a list of all the enabled verbosity options.

Annotations
@Override
selectFormatback to summary
private String selectFormat(JCDiagnostic d)
com.sun.tools.javac.util back to summary

public Class BasicDiagnosticFormatter.BasicConfiguration

extends SimpleConfiguration
Class Inheritance

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static enum
BasicDiagnosticFormatter.BasicConfiguration.BasicFormatKind

This enum contains all the kinds of formatting patterns supported by a basic diagnostic formatter.

public static enum
BasicDiagnosticFormatter.BasicConfiguration.SourcePosition

A source positioning value controls the position (within a given diagnostic message) in which the source line the diagnostic refers to should be displayed (if applicable)

Field Summary

Modifier and TypeField and Description
protected Map<BasicDiagnosticFormatter.BasicConfiguration.BasicFormatKind, String>
protected Map<DiagnosticFormatter.Configuration.DiagnosticPart, Integer>
protected BasicDiagnosticFormatter.BasicConfiguration.SourcePosition
Inherited from com.sun.tools.javac.util.AbstractDiagnosticFormatter.SimpleConfiguration:
caretEnabledmultilineLimitsvisibleParts

Constructor Summary

AccessConstructor and Description
public
public

Method Summary

Modifier and TypeMethod and Description
public String
getFormat(BasicDiagnosticFormatter.BasicConfiguration.BasicFormatKind
the format kind for which to get the metachar string
kind
)

Get a metachar string for a specific format

public int

Returns:

the amount of spaces used for the specified indentation kind
getIndentation
(DiagnosticFormatter.Configuration.DiagnosticPart
the diagnostic part for which the indentation is to be retrieved
diagPart
)

Get the amount of spaces for a given indentation kind

public BasicDiagnosticFormatter.BasicConfiguration.SourcePosition

Returns:

the positioning value used by this formatter
getSourcePosition
()

Get the source line positioning used by this formatter

private void
private void
initFormats(String pos, String nopos, String clazz)

private void
private void
private void
public void
setFormat(BasicDiagnosticFormatter.BasicConfiguration.BasicFormatKind
the format kind to be set
kind
,
String
the metachar string specifying the format
s
)

Set a metachar string for a specific format

public void
setIndentation(DiagnosticFormatter.Configuration.DiagnosticPart diagPart, int
amount of spaces for the specified diagnostic part
nSpaces
)

Set the indentation level for various element of a given diagnostic - this might lead to more readable diagnostics

public void
setSourcePosition(BasicDiagnosticFormatter.BasicConfiguration.SourcePosition
a positioning value for source line
sourcePos
)

Set the source line positioning used by this formatter

Inherited from com.sun.tools.javac.util.AbstractDiagnosticFormatter.SimpleConfiguration:
getMultilineLimitgetVisibleisCaretEnabledsetCaretEnabledsetMultilineLimitsetVisiblesetVisiblePart

Field Detail

availableFormatsback to summary
protected Map<BasicDiagnosticFormatter.BasicConfiguration.BasicFormatKind, String> availableFormats
indentationLevelsback to summary
protected Map<DiagnosticFormatter.Configuration.DiagnosticPart, Integer> indentationLevels
sourcePositionback to summary
protected BasicDiagnosticFormatter.BasicConfiguration.SourcePosition sourcePosition

Constructor Detail

BasicConfigurationback to summary
public BasicConfiguration(Options options)
Annotations
@SuppressWarnings:fallthrough, this-escape
BasicConfigurationback to summary
public BasicConfiguration()
Annotations
@SuppressWarnings:this-escape

Method Detail

getFormatback to summary
public String getFormat(BasicDiagnosticFormatter.BasicConfiguration.BasicFormatKind kind)

Get a metachar string for a specific format

Parameters
kind:BasicDiagnosticFormatter.BasicConfiguration.BasicFormatKind

the format kind for which to get the metachar string

getIndentationback to summary
public int getIndentation(DiagnosticFormatter.Configuration.DiagnosticPart diagPart)

Get the amount of spaces for a given indentation kind

Parameters
diagPart:DiagnosticFormatter.Configuration.DiagnosticPart

the diagnostic part for which the indentation is to be retrieved

Returns:int

the amount of spaces used for the specified indentation kind

getSourcePositionback to summary
public BasicDiagnosticFormatter.BasicConfiguration.SourcePosition getSourcePosition()

Get the source line positioning used by this formatter

Returns:BasicDiagnosticFormatter.BasicConfiguration.SourcePosition

the positioning value used by this formatter

initFormatback to summary
private void initFormat()
initFormatsback to summary
private void initFormats(String pos, String nopos, String clazz)
initFormatsback to summary
private void initFormats(String fmt)
Annotations
@SuppressWarnings:fallthrough
initIndentationback to summary
private void initIndentation()
initOldFormatback to summary
private void initOldFormat()
setFormatback to summary
public void setFormat(BasicDiagnosticFormatter.BasicConfiguration.BasicFormatKind kind, String s)

Set a metachar string for a specific format

Parameters
kind:BasicDiagnosticFormatter.BasicConfiguration.BasicFormatKind

the format kind to be set

s:String

the metachar string specifying the format

setIndentationback to summary
public void setIndentation(DiagnosticFormatter.Configuration.DiagnosticPart diagPart, int nSpaces)

Set the indentation level for various element of a given diagnostic - this might lead to more readable diagnostics

Parameters
nSpaces:int

amount of spaces for the specified diagnostic part

setSourcePositionback to summary
public void setSourcePosition(BasicDiagnosticFormatter.BasicConfiguration.SourcePosition sourcePos)

Set the source line positioning used by this formatter

Parameters
sourcePos:BasicDiagnosticFormatter.BasicConfiguration.SourcePosition

a positioning value for source line

com.sun.tools.javac.util back to summary

public final Enum BasicDiagnosticFormatter.BasicConfiguration.BasicFormatKind

extends Enum<BasicDiagnosticFormatter.BasicConfiguration.BasicFormatKind>
Class Inheritance

This enum contains all the kinds of formatting patterns supported by a basic diagnostic formatter.

Field Summary

Modifier and TypeField and Description
public static final BasicDiagnosticFormatter.BasicConfiguration.BasicFormatKind
DEFAULT_CLASS_FORMAT

A format string to be used for diagnostics regarding classfiles

public static final BasicDiagnosticFormatter.BasicConfiguration.BasicFormatKind
DEFAULT_NO_POS_FORMAT

A format string to be used for diagnostics without a given position.

public static final BasicDiagnosticFormatter.BasicConfiguration.BasicFormatKind
DEFAULT_POS_FORMAT

A format string to be used for diagnostics with a given position.

Constructor Summary

AccessConstructor and Description
private

Field Detail

DEFAULT_CLASS_FORMATback to summary
public static final BasicDiagnosticFormatter.BasicConfiguration.BasicFormatKind DEFAULT_CLASS_FORMAT

A format string to be used for diagnostics regarding classfiles

DEFAULT_NO_POS_FORMATback to summary
public static final BasicDiagnosticFormatter.BasicConfiguration.BasicFormatKind DEFAULT_NO_POS_FORMAT

A format string to be used for diagnostics without a given position.

DEFAULT_POS_FORMATback to summary
public static final BasicDiagnosticFormatter.BasicConfiguration.BasicFormatKind DEFAULT_POS_FORMAT

A format string to be used for diagnostics with a given position.

Constructor Detail

BasicFormatKindback to summary
private BasicFormatKind()
com.sun.tools.javac.util back to summary

public final Enum BasicDiagnosticFormatter.BasicConfiguration.SourcePosition

extends Enum<BasicDiagnosticFormatter.BasicConfiguration.SourcePosition>
Class Inheritance

A source positioning value controls the position (within a given diagnostic message) in which the source line the diagnostic refers to should be displayed (if applicable)

Field Summary

Modifier and TypeField and Description
public static final BasicDiagnosticFormatter.BasicConfiguration.SourcePosition
AFTER_SUMMARY

Source line is displayed after the first line of the diagnostic message

public static final BasicDiagnosticFormatter.BasicConfiguration.SourcePosition
BOTTOM

Source line is displayed after the diagnostic message

Constructor Summary

AccessConstructor and Description
private

Field Detail

AFTER_SUMMARYback to summary
public static final BasicDiagnosticFormatter.BasicConfiguration.SourcePosition AFTER_SUMMARY

Source line is displayed after the first line of the diagnostic message

BOTTOMback to summary
public static final BasicDiagnosticFormatter.BasicConfiguration.SourcePosition BOTTOM

Source line is displayed after the diagnostic message

Constructor Detail

SourcePositionback to summary
private SourcePosition()