public class IllegalInstantiationCheck extends Check
Checks for illegal instantiations where a factory method is preferred.
Rationale: Depending on the project, for some classes it might be preferable to create instances through factory methods rather than calling the constructor.
A simple example is the java.lang.Boolean class, to save memory and CPU cycles it is preferable to use the predeifined constants TRUE and FALSE. Constructor invocations should be replaced by calls to Boolean.valueOf().
Some extremely performance sensitive projects may require the use of factory methods for other classes as well, to enforce the usage of number caches or object pools.
Limitations: It is currently not possible to specify array classes.
An example of how to configure the check is:
<module name="IllegalInstantiation"/>
| Constructor and Description |
|---|
IllegalInstantiationCheck() |
| Modifier and Type | Method and Description |
|---|---|
void |
beginTree(DetailAST aRootAST)
Called before the starting to process a tree.
|
void |
finishTree(DetailAST aRootAST)
Called after finished processing a tree.
|
int[] |
getAcceptableTokens()
Prevent user from changing tokens in the configuration.
|
int[] |
getDefaultTokens()
Returns the default token a check is interested in.
|
int[] |
getRequiredTokens()
The tokens that this check must be registered for.
|
void |
setClasses(String aClassNames)
Sets the classes that are illegal to instantiate.
|
void |
visitToken(DetailAST aAST)
Called to process a token.
|
destroy, getClassLoader, getFileContents, getLines, getTabWidth, getTokenNames, init, leaveToken, log, log, setClassLoader, setFileContents, setMessages, setTabWidth, setTokensgetId, getMessageBundle, getSeverity, getSeverityLevel, log, log, log, log, log, log, log, log, log, setId, setSeverityconfigure, contextualize, finishLocalSetup, getConfiguration, setupChildpublic int[] getDefaultTokens()
getDefaultTokens in class CheckTokenTypespublic int[] getAcceptableTokens()
getAcceptableTokens in class CheckCheckpublic int[] getRequiredTokens()
getRequiredTokens in class CheckTokenTypespublic void beginTree(DetailAST aRootAST)
public void visitToken(DetailAST aAST)
visitToken in class CheckaAST - the token to processpublic void finishTree(DetailAST aRootAST)
finishTree in class CheckaRootAST - the root of the treepublic void setClasses(String aClassNames)
aClassNames - a comma seperate list of class names