Modifier and Type | Method and Description |
---|---|
Rule |
RuleViolation.getRule()
Get the Rule which identified this violation.
|
Rule |
RuleSet.getRuleByName(String ruleName)
Returns the first Rule found with the given name (case-sensitive).
|
Rule |
RuleSets.getRuleByName(String ruleName)
Returns the first Rule found with the given name.
|
Rule |
Report.RuleConfigurationError.rule() |
Modifier and Type | Method and Description |
---|---|
Set<Rule> |
RuleSets.getAllRules()
Return all rules from all rulesets.
|
Collection<Rule> |
RuleSet.getRules()
Returns the actual Collection of rules in this ruleset
|
Modifier and Type | Method and Description |
---|---|
void |
RuleSet.addRule(Rule rule)
Add a new rule to this ruleset.
|
void |
RuleSet.addRuleByReference(String ruleSetFileName,
Rule rule)
Add a new rule by reference to this ruleset.
|
boolean |
RuleSet.addRuleIfNotExists(Rule rule)
Only adds a rule to the ruleset if no rule with the same name for the same language was added
before, so that the existent rule configuration won't be overridden.
|
boolean |
RuleSet.addRuleReplaceIfExists(Rule rule)
Adds a rule.
|
static boolean |
RuleSet.applies(Rule rule,
LanguageVersion languageVersion)
Does the given Rule apply to the given LanguageVersion? If so, the
Language must be the same and be between the minimum and maximums
versions on the Rule.
|
static RuleSet |
RuleSet.createFor(String name,
Rule... theRules)
A convenience constructor
|
String |
PropertyDescriptor.propertyErrorFor(Rule rule)
A convenience method that returns an error string if the rule holds onto
a property value that has a problem.
|
Modifier and Type | Method and Description |
---|---|
void |
RuleSet.removeDysfunctionalRules(Collection<Rule> collector)
Remove and collect any misconfigured rules.
|
void |
RuleSets.removeDysfunctionalRules(Collection<Rule> collector)
Remove and collect any rules that report problems.
|
Constructor and Description |
---|
RuleConfigurationError(Rule theRule,
String theIssue) |
Modifier and Type | Field and Description |
---|---|
Rule |
RuleDuration.rule |
Constructor and Description |
---|
RuleDuration(long elapsed,
Rule rule) |
Modifier and Type | Interface and Description |
---|---|
interface |
DFAGraphRule |
Constructor and Description |
---|
EcmascriptParserOptions(Rule rule) |
Modifier and Type | Class and Description |
---|---|
class |
AbstractEcmascriptRule |
class |
EcmascriptXPathRule |
Modifier and Type | Method and Description |
---|---|
protected RuleViolation |
EcmascriptRuleViolationFactory.createRuleViolation(Rule rule,
RuleContext ruleContext,
Node node,
String message) |
protected RuleViolation |
EcmascriptRuleViolationFactory.createRuleViolation(Rule rule,
RuleContext ruleContext,
Node node,
String message,
int beginLine,
int endLine) |
protected void |
EcmascriptRuleChainVisitor.visit(Rule rule,
Node node,
RuleContext ctx) |
Modifier and Type | Class and Description |
---|---|
class |
ConsistentReturnRule |
Modifier and Type | Method and Description |
---|---|
boolean |
CanSuppressWarnings.hasSuppressWarningsAnnotationFor(Rule rule) |
boolean |
ASTClassOrInterfaceBodyDeclaration.hasSuppressWarningsAnnotationFor(Rule rule) |
boolean |
ASTTypeDeclaration.hasSuppressWarningsAnnotationFor(Rule rule) |
boolean |
ASTLocalVariableDeclaration.hasSuppressWarningsAnnotationFor(Rule rule) |
boolean |
ASTFormalParameter.hasSuppressWarningsAnnotationFor(Rule rule) |
boolean |
ASTAnnotation.suppresses(Rule rule) |
Modifier and Type | Class and Description |
---|---|
class |
JavaDFAGraphRule |
Modifier and Type | Class and Description |
---|---|
class |
AbstractInefficientZeroCheck
This is an abstract rule for patterns which compare a method invocation to 0.
|
class |
AbstractJavaRule |
class |
AbstractPoorMethodCall
Detects and flags the occurrences of specific method calls against an instance of
a designated class.
|
class |
AbstractStatisticalJavaRule |
class |
GenericLiteralCheckerRule
This class allow to match a Literal (most likely a String) with a regex pattern.
|
class |
StringConcatenationRule |
class |
SymbolTableTestRule |
class |
UselessAssignment |
Modifier and Type | Method and Description |
---|---|
protected RuleViolation |
JavaRuleViolationFactory.createRuleViolation(Rule rule,
RuleContext ruleContext,
Node node,
String message) |
protected RuleViolation |
JavaRuleViolationFactory.createRuleViolation(Rule rule,
RuleContext ruleContext,
Node node,
String message,
int beginLine,
int endLine) |
static boolean |
JavaRuleViolation.isSupressed(Node node,
Rule rule)
Check for suppression on this node, on parents, and on contained types
for ASTCompilationUnit
|
protected void |
JavaRuleChainVisitor.visit(Rule rule,
Node node,
RuleContext ctx) |
Constructor and Description |
---|
JavaRuleViolation(Rule rule,
RuleContext ctx,
JavaNode node,
String message) |
JavaRuleViolation(Rule rule,
RuleContext ctx,
JavaNode node,
String message,
int beginLine,
int endLine) |
Modifier and Type | Class and Description |
---|---|
class |
AvoidBranchingStatementAsLastInLoopRule |
class |
AvoidMultipleUnaryOperatorsRule |
class |
AvoidUsingHardCodedIPRule |
class |
AvoidUsingOctalValuesRule |
class |
BigIntegerInstantiationRule
Rule that marks instantiations of new
BigInteger or BigDecimal objects,
when there is a well-known constant available, such as BigInteger.ZERO . |
class |
BooleanInstantiationRule
Avoid instantiating Boolean objects; you can reference Boolean.TRUE,
Boolean.FALSE, or call Boolean.valueOf() instead.
|
class |
BrokenNullCheckRule |
class |
CheckResultSetRule
Rule that verifies, that the return values of next(), first(), last(), etc.
|
class |
CheckSkipResultRule |
class |
DoubleCheckedLockingRule
void method() {
if(x == null) {
synchronized(this){
if(x == null) {
x = new | method();
}
}
}
1.
|
class |
OverrideBothEqualsAndHashcodeRule |
Modifier and Type | Class and Description |
---|---|
class |
ExcessiveClassLengthRule
This rule detects when a class exceeds a certain
threshold.
|
class |
ExcessivePublicCountRule |
class |
ModifiedCyclomaticComplexityRule
Implements the modified cyclomatic complexity rule
|
class |
NcssConstructorCountRule
Non-commented source statement counter for constructors.
|
class |
NcssTypeCountRule
Non-commented source statement counter for type declarations.
|
class |
StdCyclomaticComplexityRule
Implements the standard cyclomatic complexity rule
|
Modifier and Type | Class and Description |
---|---|
class |
AbstractCommentRule |
class |
CodeInCommentsRule |
class |
CommentContentRule
A rule that checks for illegal words in the comment text.
|
class |
CommentRequiredRule |
class |
CommentSizeRule
A rule to manage those who just can't shut up...
|
class |
HeaderCommentsRule
Restrictions regarding the legal placement and content of the file header.
|
class |
JavadocRule |
Modifier and Type | Class and Description |
---|---|
class |
AssignmentInOperandRule |
class |
DataflowAnomalyAnalysisRule
Starts path search for each method and runs code if found.
|
class |
DontImportSunRule |
class |
NullAssignmentRule |
class |
OnlyOneReturnRule |
class |
SuspiciousOctalEscapeRule |
Constructor and Description |
---|
DaaRuleViolation(Rule rule,
RuleContext ctx,
Node node,
String type,
String msg,
String var,
int beginLine,
int endLine) |
Modifier and Type | Class and Description |
---|---|
class |
CouplingBetweenObjectsRule
CouplingBetweenObjects attempts to capture all unique Class attributes,
local variables, and return types to determine how many objects a class is
coupled to.
|
class |
ExcessiveImportsRule
ExcessiveImports attempts to count all unique imports a class
contains.
|
class |
LawOfDemeterRule
This rule can detect possible violations of the Law of Demeter.
|
class |
LooseCouplingRule |
class |
LoosePackageCouplingRule
The loose package coupling Rule can be used to ensure coupling outside of
a package hierarchy is minimized to all but an allowed set of classes from
within the package hierarchy.
|
Modifier and Type | Class and Description |
---|---|
class |
AccessorClassGenerationRule
1.
|
class |
AssignmentToNonFinalStaticRule |
class |
CloseResourceRule
Makes sure you close your database connections.
|
class |
CompareObjectsWithEqualsRule |
class |
ConfusingTernaryRule
if (x != y) { diff(); } else { same(); } and
(!x ? diff() : same());. |
class |
ConstructorCallsOverridableMethodRule
Searches through all methods and constructors called from constructors.
|
class |
GenericClassCounterRule
A generic rule that can be configured to "count" classes of certain
type based on either their name (full name, prefix, suffixes anything can
be matched with a regex), and/or
their type.
|
class |
GodClassRule
The God Class Rule detects a the God Class design flaw using metrics.
|
class |
IdempotentOperationsRule |
class |
ImmutableFieldRule |
class |
NonThreadSafeSingletonRule |
class |
PositionalIteratorRule |
class |
PreserveStackTraceRule |
class |
SimplifyBooleanReturnsRule |
class |
SingularFieldRule |
class |
SwitchDensityRule |
class |
UnnecessaryLocalBeforeReturnRule |
class |
UnsynchronizedStaticDateFormatterRule
Using a DateFormatter (SimpleDateFormatter) which is static can cause
unexpected results when used in a multi-threaded environment.
|
class |
UseCollectionIsEmptyRule
Detect structures like "foo.size() == 0" and suggest replacing them with
foo.isEmpty().
|
class |
UseUtilityClassRule |
Modifier and Type | Class and Description |
---|---|
class |
AvoidCallingFinalizeRule |
Modifier and Type | Class and Description |
---|---|
class |
DontImportJavaLangRule |
class |
DuplicateImportsRule |
class |
ImportFromSamePackageRule |
class |
UnnecessaryFullyQualifiedNameRule |
class |
UnusedImportsRule |
Modifier and Type | Class and Description |
---|---|
class |
BeanMembersShouldSerializeRule |
Modifier and Type | Class and Description |
---|---|
class |
AbstractJUnitRule |
class |
JUnitAssertionsShouldIncludeMessageRule |
class |
JUnitTestsShouldIncludeAssertRule |
class |
TestClassWithoutTestCasesRule |
Modifier and Type | Class and Description |
---|---|
class |
GuardDebugLoggingRule |
class |
GuardLogStatementJavaUtilRule |
class |
GuardLogStatementRule
Check that log.debug, log.trace, log.error, etc...
|
class |
MoreThanOneLoggerRule |
Modifier and Type | Class and Description |
---|---|
class |
JUnitUseExpectedRule
This rule finds code like this:
|
class |
UnnecessaryCastRule
This is a rule, that detects unnecessary casts when using Java 1.5 generics and
collections.
|
Modifier and Type | Class and Description |
---|---|
class |
AvoidDollarSignsRule |
class |
AvoidFieldNameMatchingMethodNameRule |
class |
AvoidFieldNameMatchingTypeNameRule |
class |
ClassNamingConventionsRule |
class |
MethodNamingConventionsRule |
class |
MethodWithSameNameAsEnclosingClassRule |
class |
SuspiciousHashcodeMethodNameRule |
class |
VariableNamingConventionsRule |
Modifier and Type | Class and Description |
---|---|
class |
AbstractOptimizationRule
Base class with utility methods for optimization rules
|
class |
AvoidInstantiatingObjectsInLoopsRule |
class |
LocalVariableCouldBeFinalRule |
class |
MethodArgumentCouldBeFinalRule |
class |
PrematureDeclarationRule
Checks for variables in methods that are defined before they are really needed.
|
class |
RedundantFieldInitializerRule
Detects redundant field initializers, i.e.
|
class |
UnnecessaryWrapperObjectCreationRule |
class |
UseStringBufferForStringAppendsRule |
Modifier and Type | Class and Description |
---|---|
class |
AvoidCatchingThrowableRule
Finds
catch statements containing throwable as the
type definition. |
class |
ExceptionAsFlowControlRule
Catches the use of exception statements as a flow control device.
|
class |
SignatureDeclareThrowsExceptionRule
|
Modifier and Type | Class and Description |
---|---|
class |
AppendCharacterWithCharRule
This rule finds the following:
|
class |
AvoidDuplicateLiteralsRule |
class |
ConsecutiveAppendsShouldReuseRule
Original rule was written with XPath, but didn't verify whether the two calls to append
would have been done on the same variable.
|
class |
ConsecutiveLiteralAppendsRule
This rule finds concurrent calls to StringBuffer/Builder.append where String literals
are used It would be much better to make these calls using one call to
.append
example:
|
class |
InefficientEmptyStringCheckRule
This rule finds code which inefficiently determines empty strings.
|
class |
InefficientStringBufferingRule
How this rule works:
find additive expressions: +
check that the addition is between anything other than two literals
if true and also the parent is StringBuffer constructor or append,
report a violation.
|
class |
InsufficientStringBufferDeclarationRule
This rule finds StringBuffers which may have been pre-sized incorrectly
See http://sourceforge.net/forum/forum.php?thread_id=1438119&forum_id=188194
|
class |
StringInstantiationRule |
class |
StringToStringRule |
class |
UnnecessaryCaseChangeRule |
class |
UseIndexOfCharRule |
class |
UselessStringValueOfRule |
class |
UseStringBufferLengthRule
This rule finds places where StringBuffer.toString() is called just to see if
the string is 0 length by either using .equals("") or toString().length()
|
Modifier and Type | Class and Description |
---|---|
class |
AbstractSunSecureRule
Utility methods for the package
Created on Jan 17, 2005
|
class |
ArrayIsStoredDirectlyRule
If a method or constructor receives an array as an argument, the array should
be cloned instead of directly stored.
|
class |
MethodReturnsInternalArrayRule
Implementation note: this rule currently ignores return types of y.x.z,
currently it handles only local type fields.
|
Modifier and Type | Class and Description |
---|---|
class |
UnnecessaryConversionTemporaryRule |
class |
UnnecessaryReturnRule |
class |
UselessOperationOnImmutableRule
An operation on an Immutable object (String, BigDecimal or BigInteger) won't change
the object itself.
|
class |
UselessOverridingMethodRule |
Modifier and Type | Class and Description |
---|---|
class |
UnusedFormalParameterRule |
class |
UnusedLocalVariableRule |
class |
UnusedModifierRule |
class |
UnusedPrivateFieldRule |
class |
UnusedPrivateMethodRule |
Modifier and Type | Class and Description |
---|---|
class |
CloneMethodMustImplementCloneable
The method clone() should only be implemented if the class implements the
Cloneable interface with the exception of a final method that only throws
CloneNotSupportedException.
|
class |
LooseCoupling
This is a separate rule, uses the type resolution facade
|
class |
SignatureDeclareThrowsException
A method/constructor shouldn't explicitly throw java.lang.Exception, since it
is unclear which exceptions that can be thrown from the methods.
|
Modifier and Type | Class and Description |
---|---|
class |
UnusedImports |
Modifier and Type | Class and Description |
---|---|
class |
AbstractJspRule |
Modifier and Type | Method and Description |
---|---|
protected RuleViolation |
JspRuleViolationFactory.createRuleViolation(Rule rule,
RuleContext ruleContext,
Node node,
String message) |
protected RuleViolation |
JspRuleViolationFactory.createRuleViolation(Rule rule,
RuleContext ruleContext,
Node node,
String message,
int beginLine,
int endLine) |
protected void |
JspRuleChainVisitor.visit(Rule rule,
Node node,
RuleContext ctx) |
Modifier and Type | Class and Description |
---|---|
class |
DuplicateJspImportsRule |
class |
NoInlineStyleInformationRule
This rule checks that no "style" elements (like , , ...) are used, and that no
"style" attributes (like "font", "size", "align") are used.
|
Modifier and Type | Class and Description |
---|---|
class |
DFAPLSQLGraphRule |
Modifier and Type | Class and Description |
---|---|
class |
AbstractPLSQLRule |
class |
AbstractStatisticalPLSQLRule |
Modifier and Type | Method and Description |
---|---|
protected RuleViolation |
PLSQLRuleViolationFactory.createRuleViolation(Rule rule,
RuleContext ruleContext,
Node node,
String message) |
protected RuleViolation |
PLSQLRuleViolationFactory.createRuleViolation(Rule rule,
RuleContext ruleContext,
Node node,
String message,
int beginLine,
int endLine) |
protected void |
PLSQLRuleChainVisitor.visit(Rule rule,
Node node,
RuleContext ctx) |
Modifier and Type | Class and Description |
---|---|
class |
AbstractNcssCountRule
Abstract superclass for NCSS counting methods.
|
class |
CyclomaticComplexityRule |
class |
ExcessiveMethodLengthRule
This rule detects when a method exceeds a certain
threshold.
|
class |
ExcessiveObjectLengthRule
This rule detects when an Oracle object exceeds a certain
threshold.
|
class |
ExcessivePackageBodyLengthRule
This rule detects when a class exceeds a certain
threshold.
|
class |
ExcessivePackageSpecificationLengthRule
This rule detects when a class exceeds a certain
threshold.
|
class |
ExcessiveParameterListRule
This rule detects an abnormally long parameter list.
|
class |
ExcessiveTypeLengthRule
This rule detects when a class exceeds a certain
threshold.
|
class |
NcssMethodCountRule
Non-commented source statement counter for methods.
|
class |
NcssObjectCountRule
Non-commented source statement counter for Oracle Object declarations.
|
class |
NPathComplexityRule
NPath complexity is a measurement of the acyclic execution paths through a
function.
|
class |
TooManyFieldsRule |
Modifier and Type | Class and Description |
---|---|
class |
ExcessiveLengthRule
This is a common super class for things which
have excessive length.
|
class |
ExcessiveNodeCountRule
This is a common super class for things which
shouldn't have excessive nodes underneath.
|
Modifier and Type | Class and Description |
---|---|
class |
AbstractDelegateRule
Base class for Rule implementations which delegate to another Rule instance.
|
class |
AbstractRule
Basic abstract implementation of all parser-independent methods of the Rule
interface.
|
class |
MockRule
This is a Rule implementation which can be used in scenarios where an actual
functional Rule is not needed.
|
class |
RuleReference
This class represents a Rule which is a reference to Rule defined in another
RuleSet.
|
class |
XPathRule
Rule that tries to match an XPath expression against a DOM view of an AST.
|
Modifier and Type | Field and Description |
---|---|
protected Rule |
ParametricRuleViolation.rule |
Modifier and Type | Field and Description |
---|---|
protected Map<RuleSet,List<Rule>> |
AbstractRuleChainVisitor.ruleSetRules
These are all the rules participating in the RuleChain, grouped by RuleSet.
|
Modifier and Type | Method and Description |
---|---|
Rule |
AbstractDelegateRule.getRule() |
Rule |
ParametricRuleViolation.getRule() |
Modifier and Type | Method and Description |
---|---|
void |
AbstractRuleChainVisitor.add(RuleSet ruleSet,
Rule rule) |
void |
RuleChainVisitor.add(RuleSet ruleSet,
Rule rule)
Add the given rule to the visitor.
|
void |
AbstractRuleViolationFactory.addViolation(RuleContext ruleContext,
Rule rule,
Node node,
String message,
int beginLine,
int endLine,
Object[] args) |
void |
RuleViolationFactory.addViolation(RuleContext ruleContext,
Rule rule,
Node node,
String message,
int beginLine,
int endLine,
Object[] args) |
void |
AbstractRuleViolationFactory.addViolation(RuleContext ruleContext,
Rule rule,
Node node,
String message,
Object[] args) |
void |
RuleViolationFactory.addViolation(RuleContext ruleContext,
Rule rule,
Node node,
String message,
Object[] args)
Adds a violation to the report.
|
protected abstract RuleViolation |
AbstractRuleViolationFactory.createRuleViolation(Rule rule,
RuleContext ruleContext,
Node node,
String message) |
protected abstract RuleViolation |
AbstractRuleViolationFactory.createRuleViolation(Rule rule,
RuleContext ruleContext,
Node node,
String message,
int beginLine,
int endLine) |
void |
AbstractDelegateRule.setRule(Rule rule) |
protected abstract void |
AbstractRuleChainVisitor.visit(Rule rule,
Node node,
RuleContext ctx)
Visit the given rule to the given node.
|
Constructor and Description |
---|
ParametricRuleViolation(Rule theRule,
RuleContext ctx,
T node,
String message) |
RuleReference(Rule theRule,
RuleSetReference theRuleSetReference) |
Modifier and Type | Method and Description |
---|---|
String |
AbstractProperty.propertyErrorFor(Rule rule)
A convenience method that returns an error string if the rule holds onto
a property value that has a problem.
|
String |
PropertyDescriptorWrapper.propertyErrorFor(Rule rule) |
Modifier and Type | Interface and Description |
---|---|
interface |
StatisticalRule
This interface tags a Rule as being a Statistical rule, producing various
metrics from data points.
|
Modifier and Type | Class and Description |
---|---|
class |
AbstractStatisticalVmRule |
class |
AbstractVmRule |
Modifier and Type | Method and Description |
---|---|
protected RuleViolation |
VmRuleViolationFactory.createRuleViolation(Rule rule,
RuleContext ruleContext,
Node node,
String message) |
protected RuleViolation |
VmRuleViolationFactory.createRuleViolation(Rule rule,
RuleContext ruleContext,
Node node,
String message,
int beginLine,
int endLine) |
protected void |
VmRuleChainVisitor.visit(Rule rule,
Node node,
RuleContext ctx) |
Modifier and Type | Class and Description |
---|---|
class |
AvoidDeeplyNestedIfStmtsRule |
class |
AvoidReassigningParametersRule |
class |
CollapsibleIfStatementsRule |
class |
EmptyForeachStmtRule |
class |
EmptyIfStmtRule |
class |
ExcessiveTemplateLengthRule |
class |
NoInlineJavaScriptRule |
class |
UnusedMacroParameterRule |
Constructor and Description |
---|
XmlParserOptions(Rule rule) |
Modifier and Type | Class and Description |
---|---|
class |
AbstractDomXmlRule
This is a base class for XML Java bases rules that which to visit the nodes
using the DOM.
|
class |
AbstractXmlRule
This is a base class for XML Java bases rules.
|
class |
XmlXPathRule |
Modifier and Type | Method and Description |
---|---|
protected RuleViolation |
XmlRuleViolationFactory.createRuleViolation(Rule rule,
RuleContext ruleContext,
Node node,
String message) |
protected RuleViolation |
XmlRuleViolationFactory.createRuleViolation(Rule rule,
RuleContext ruleContext,
Node node,
String message,
int beginLine,
int endLine) |
protected void |
XmlRuleChainVisitor.visit(Rule rule,
Node node,
RuleContext ctx) |
Copyright © 2002–2014 InfoEther. All rights reserved.