net.sourceforge.pmd
Class RuleContext

java.lang.Object
  extended by net.sourceforge.pmd.RuleContext

public class RuleContext
extends Object

The RuleContext provides access to Rule processing state. This information includes the following global information:

As well as the following source file specific information: It is required that all source file specific options be set between calls to difference source files. Failure to do so, may result in undefined behavior.


Constructor Summary
RuleContext()
          Default constructor.
RuleContext(RuleContext ruleContext)
          Constructor which shares attributes and report listeners with the given RuleContext.
 
Method Summary
 Object getAttribute(String name)
          Get an attribute value on the RuleContext.
 LanguageVersion getLanguageVersion()
          Get the LanguageVersion associated with the current source file.
 Report getReport()
          Get the Report to which Rule Violations are sent.
 File getSourceCodeFile()
          Get the File associated with the current source file.
 String getSourceCodeFilename()
          Get the file name associated with the current source file.
 boolean isIgnoreExceptions()
          Gets the configuration whether to skip failing rules (true) or whether to throw a a RuntimeException and abort the processing for the first failing rule.
 Object removeAttribute(String name)
          Remove an attribute value on the RuleContext.
 boolean setAttribute(String name, Object value)
          Set an attribute value on the RuleContext, if it does not already exist.
 void setIgnoreExceptions(boolean ignoreExceptions)
          Configure whether exceptions during applying a rule should be ignored or not.
 void setLanguageVersion(LanguageVersion languageVersion)
          Set the LanguageVersion associated with the current source file.
 void setReport(Report report)
          Set the Report to which Rule Violations are sent.
 void setSourceCodeFile(File sourceCodeFile)
          Set the File associated with the current source file.
 void setSourceCodeFilename(String filename)
          Set the file name associated with the current source file.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RuleContext

public RuleContext()
Default constructor.


RuleContext

public RuleContext(RuleContext ruleContext)
Constructor which shares attributes and report listeners with the given RuleContext.

Parameters:
ruleContext - the context from which the values are shared
Method Detail

getReport

public Report getReport()
Get the Report to which Rule Violations are sent.

Returns:
The Report.

setReport

public void setReport(Report report)
Set the Report to which Rule Violations are sent.

Parameters:
report - The Report.

getSourceCodeFile

public File getSourceCodeFile()
Get the File associated with the current source file.

Returns:
The File.

setSourceCodeFile

public void setSourceCodeFile(File sourceCodeFile)
Set the File associated with the current source file. While this may be set to null, the exclude/include facilities will not work properly without a File.

Parameters:
sourceCodeFile - The File.

getSourceCodeFilename

public String getSourceCodeFilename()
Get the file name associated with the current source file.

Returns:
The file name.

setSourceCodeFilename

public void setSourceCodeFilename(String filename)
Set the file name associated with the current source file.

Parameters:
filename - The file name.

getLanguageVersion

public LanguageVersion getLanguageVersion()
Get the LanguageVersion associated with the current source file.

Returns:
The LanguageVersion, null if unknown.

setLanguageVersion

public void setLanguageVersion(LanguageVersion languageVersion)
Set the LanguageVersion associated with the current source file. This may be set to null to indicate the version is unknown and should be automatically determined.

Parameters:
languageVersion - The LanguageVersion.

setAttribute

public boolean setAttribute(String name,
                            Object value)
Set an attribute value on the RuleContext, if it does not already exist.

Attributes can be shared between RuleContext instances. This operation is thread-safe.

Attribute values should be modified directly via the reference provided. It is not necessary to call setAttribute(String, Object) to update an attribute value. Modifications made to the attribute value will automatically be seen by other threads. Because of this, you must ensure the attribute values are themselves thread safe.

Parameters:
name - The attribute name.
value - The attribute value.
Returns:
true if the attribute was set, false otherwise.
Throws:
IllegalArgumentException - if name or value are null

getAttribute

public Object getAttribute(String name)
Get an attribute value on the RuleContext.

Attributes can be shared between RuleContext instances. This operation is thread-safe.

Attribute values should be modified directly via the reference provided. It is not necessary to call setAttribute(String, Object) to update an attribute value. Modifications made to the attribute value will automatically be seen by other threads. Because of this, you must ensure the attribute values are themselves thread safe.

Parameters:
name - The attribute name.
Returns:
The current attribute value, or null if the attribute does not exist.

removeAttribute

public Object removeAttribute(String name)
Remove an attribute value on the RuleContext.

Attributes can be shared between RuleContext instances. This operation is thread-safe.

Attribute values should be modified directly via the reference provided. It is not necessary to call setAttribute(String, Object) to update an attribute value. Modifications made to the attribute value will automatically be seen by other threads. Because of this, you must ensure the attribute values are themselves thread safe.

Parameters:
name - The attribute name.
Returns:
The current attribute value, or null if the attribute does not exist.

setIgnoreExceptions

public void setIgnoreExceptions(boolean ignoreExceptions)
Configure whether exceptions during applying a rule should be ignored or not. If set to true then such exceptions are logged as warnings and the processing is continued with the next rule - the failing rule is simply skipped. This is the default behavior.
If set to false then the processing will be aborted with the exception. This is especially useful during unit tests, in order to not oversee any exceptions.

Parameters:
ignoreExceptions - if true simply skip failing rules (default).

isIgnoreExceptions

public boolean isIgnoreExceptions()
Gets the configuration whether to skip failing rules (true) or whether to throw a a RuntimeException and abort the processing for the first failing rule.

Returns:
true when failing rules are skipped, false otherwise.


Copyright © 2002-2015 InfoEther. All Rights Reserved.