Class Violation
- java.lang.Object
-
- com.puppycrawl.tools.checkstyle.api.Violation
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Comparable<Violation>
public final class Violation extends java.lang.Object implements java.lang.Comparable<Violation>, java.io.Serializable
Represents a violation that can be localised. The translations come from message.properties files. The underlying implementation uses java.text.MessageFormat.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classViolation.Utf8ControlCustom ResourceBundle.Control implementation which allows explicitly read the properties files as UTF-8.
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Object[]argsArguments for MessageFormat.private java.lang.StringbundleName of the resource bundle to get violations from.private static java.util.Map<java.lang.String,java.util.ResourceBundle>BUNDLE_CACHEA cache that maps bundle names to ResourceBundles.private intcolumnCharIndexThe column char index.private intcolumnNoThe column number.private java.lang.StringcustomMessageA custom violation overriding the default violation from the bundle.private static SeverityLevelDEFAULT_SEVERITYThe default severity level if one is not specified.private java.lang.StringkeyKey for the violation format.private intlineNoThe line number.private java.lang.StringmoduleIdThe id of the module generating the violation.private static longserialVersionUIDA unique serial version identifier.private SeverityLevelseverityLevelThe severity level.private static java.util.LocalesLocaleThe locale to localise violations to.private java.lang.Class<?>sourceClassClass of the source for this Violation.private inttokenTypeThe token type constant.
-
Constructor Summary
Constructors Constructor Description Violation(int lineNo, int columnNo, int columnCharIndex, int tokenType, java.lang.String bundle, java.lang.String key, java.lang.Object[] args, SeverityLevel severityLevel, java.lang.String moduleId, java.lang.Class<?> sourceClass, java.lang.String customMessage)Creates a newViolationinstance.Violation(int lineNo, int columnNo, int tokenType, java.lang.String bundle, java.lang.String key, java.lang.Object[] args, SeverityLevel severityLevel, java.lang.String moduleId, java.lang.Class<?> sourceClass, java.lang.String customMessage)Creates a newViolationinstance.Violation(int lineNo, int columnNo, java.lang.String bundle, java.lang.String key, java.lang.Object[] args, SeverityLevel severityLevel, java.lang.String moduleId, java.lang.Class<?> sourceClass, java.lang.String customMessage)Creates a newViolationinstance.Violation(int lineNo, int columnNo, java.lang.String bundle, java.lang.String key, java.lang.Object[] args, java.lang.String moduleId, java.lang.Class<?> sourceClass, java.lang.String customMessage)Creates a newViolationinstance.Violation(int lineNo, java.lang.String bundle, java.lang.String key, java.lang.Object[] args, SeverityLevel severityLevel, java.lang.String moduleId, java.lang.Class<?> sourceClass, java.lang.String customMessage)Creates a newViolationinstance.Violation(int lineNo, java.lang.String bundle, java.lang.String key, java.lang.Object[] args, java.lang.String moduleId, java.lang.Class<?> sourceClass, java.lang.String customMessage)Creates a newViolationinstance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static voidclearCache()Clears the cache.intcompareTo(Violation other)booleanequals(java.lang.Object object)Indicates whether some other object is "equal to" this one.private java.util.ResourceBundlegetBundle(java.lang.String bundleName)Find a ResourceBundle for a given bundle name.intgetColumnCharIndex()Gets the column char index.intgetColumnNo()Gets the column number.private java.lang.StringgetCustomViolation()Returns the formatted custom violation if one is configured.java.lang.StringgetKey()Returns the violation key to locate the translation, can also be used in IDE plugins to map audit event violations to corrective actions.intgetLineNo()Gets the line number.java.lang.StringgetModuleId()Returns id of module.SeverityLevelgetSeverityLevel()Gets the severity level.java.lang.StringgetSourceName()Gets the name of the source for this Violation.intgetTokenType()Gets the token type.java.lang.StringgetViolation()Gets the translated violation.inthashCode()static voidsetLocale(java.util.Locale locale)Sets a locale to use for localization.
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
A unique serial version identifier.- See Also:
- Constant Field Values
-
BUNDLE_CACHE
private static final java.util.Map<java.lang.String,java.util.ResourceBundle> BUNDLE_CACHE
A cache that maps bundle names to ResourceBundles. Avoids repetitive calls to ResourceBundle.getBundle().
-
DEFAULT_SEVERITY
private static final SeverityLevel DEFAULT_SEVERITY
The default severity level if one is not specified.
-
sLocale
private static java.util.Locale sLocale
The locale to localise violations to.
-
lineNo
private final int lineNo
The line number.
-
columnNo
private final int columnNo
The column number.
-
columnCharIndex
private final int columnCharIndex
The column char index.
-
tokenType
private final int tokenType
The token type constant. SeeTokenTypes.
-
severityLevel
private final SeverityLevel severityLevel
The severity level.
-
moduleId
private final java.lang.String moduleId
The id of the module generating the violation.
-
key
private final java.lang.String key
Key for the violation format.
-
args
private final java.lang.Object[] args
Arguments for MessageFormat.
-
bundle
private final java.lang.String bundle
Name of the resource bundle to get violations from.
-
sourceClass
private final java.lang.Class<?> sourceClass
Class of the source for this Violation.
-
customMessage
private final java.lang.String customMessage
A custom violation overriding the default violation from the bundle.
-
-
Constructor Detail
-
Violation
public Violation(int lineNo, int columnNo, int columnCharIndex, int tokenType, java.lang.String bundle, java.lang.String key, java.lang.Object[] args, SeverityLevel severityLevel, java.lang.String moduleId, java.lang.Class<?> sourceClass, java.lang.String customMessage)
Creates a newViolationinstance.- Parameters:
lineNo- line number associated with the violationcolumnNo- column number associated with the violationcolumnCharIndex- column char index associated with the violationtokenType- token type of the event associated with violation. SeeTokenTypesbundle- resource bundle namekey- the key to locate the translationargs- arguments for the translationseverityLevel- severity level for the violationmoduleId- the id of the module the violation is associated withsourceClass- the Class that is the source of the violationcustomMessage- optional custom violation overriding the default
-
Violation
public Violation(int lineNo, int columnNo, int tokenType, java.lang.String bundle, java.lang.String key, java.lang.Object[] args, SeverityLevel severityLevel, java.lang.String moduleId, java.lang.Class<?> sourceClass, java.lang.String customMessage)
Creates a newViolationinstance.- Parameters:
lineNo- line number associated with the violationcolumnNo- column number associated with the violationtokenType- token type of the event associated with violation. SeeTokenTypesbundle- resource bundle namekey- the key to locate the translationargs- arguments for the translationseverityLevel- severity level for the violationmoduleId- the id of the module the violation is associated withsourceClass- the Class that is the source of the violationcustomMessage- optional custom violation overriding the default
-
Violation
public Violation(int lineNo, int columnNo, java.lang.String bundle, java.lang.String key, java.lang.Object[] args, SeverityLevel severityLevel, java.lang.String moduleId, java.lang.Class<?> sourceClass, java.lang.String customMessage)
Creates a newViolationinstance.- Parameters:
lineNo- line number associated with the violationcolumnNo- column number associated with the violationbundle- resource bundle namekey- the key to locate the translationargs- arguments for the translationseverityLevel- severity level for the violationmoduleId- the id of the module the violation is associated withsourceClass- the Class that is the source of the violationcustomMessage- optional custom violation overriding the default
-
Violation
public Violation(int lineNo, int columnNo, java.lang.String bundle, java.lang.String key, java.lang.Object[] args, java.lang.String moduleId, java.lang.Class<?> sourceClass, java.lang.String customMessage)
Creates a newViolationinstance.- Parameters:
lineNo- line number associated with the violationcolumnNo- column number associated with the violationbundle- resource bundle namekey- the key to locate the translationargs- arguments for the translationmoduleId- the id of the module the violation is associated withsourceClass- the Class that is the source of the violationcustomMessage- optional custom violation overriding the default
-
Violation
public Violation(int lineNo, java.lang.String bundle, java.lang.String key, java.lang.Object[] args, SeverityLevel severityLevel, java.lang.String moduleId, java.lang.Class<?> sourceClass, java.lang.String customMessage)
Creates a newViolationinstance.- Parameters:
lineNo- line number associated with the violationbundle- resource bundle namekey- the key to locate the translationargs- arguments for the translationseverityLevel- severity level for the violationmoduleId- the id of the module the violation is associated withsourceClass- the source class for the violationcustomMessage- optional custom violation overriding the default
-
Violation
public Violation(int lineNo, java.lang.String bundle, java.lang.String key, java.lang.Object[] args, java.lang.String moduleId, java.lang.Class<?> sourceClass, java.lang.String customMessage)
Creates a newViolationinstance. The column number defaults to 0.- Parameters:
lineNo- line number associated with the violationbundle- name of a resource bundle that contains audit event violationskey- the key to locate the translationargs- arguments for the translationmoduleId- the id of the module the violation is associated withsourceClass- the name of the source for the violationcustomMessage- optional custom violation overriding the default
-
-
Method Detail
-
getLineNo
public int getLineNo()
Gets the line number.- Returns:
- the line number
-
getColumnNo
public int getColumnNo()
Gets the column number.- Returns:
- the column number
-
getColumnCharIndex
public int getColumnCharIndex()
Gets the column char index.- Returns:
- the column char index
-
getTokenType
public int getTokenType()
Gets the token type.- Returns:
- the token type
-
getSeverityLevel
public SeverityLevel getSeverityLevel()
Gets the severity level.- Returns:
- the severity level
-
getModuleId
public java.lang.String getModuleId()
Returns id of module.- Returns:
- the module identifier.
-
getKey
public java.lang.String getKey()
Returns the violation key to locate the translation, can also be used in IDE plugins to map audit event violations to corrective actions.- Returns:
- the violation key
-
getSourceName
public java.lang.String getSourceName()
Gets the name of the source for this Violation.- Returns:
- the name of the source for this Violation
-
setLocale
public static void setLocale(java.util.Locale locale)
Sets a locale to use for localization.- Parameters:
locale- the locale to use for localization
-
clearCache
public static void clearCache()
Clears the cache.
-
equals
public boolean equals(java.lang.Object object)
Indicates whether some other object is "equal to" this one. Suppression on enumeration is needed so code stays consistent.- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
compareTo
public int compareTo(Violation other)
- Specified by:
compareToin interfacejava.lang.Comparable<Violation>
-
getViolation
public java.lang.String getViolation()
Gets the translated violation.- Returns:
- the translated violation
-
getCustomViolation
private java.lang.String getCustomViolation()
Returns the formatted custom violation if one is configured.- Returns:
- the formatted custom violation or
nullif there is no custom violation
-
getBundle
private java.util.ResourceBundle getBundle(java.lang.String bundleName)
Find a ResourceBundle for a given bundle name. Uses the classloader of the class emitting this violation, to be sure to get the correct bundle.- Parameters:
bundleName- the bundle name- Returns:
- a ResourceBundle
-
-