public class PackageObjectFactory extends java.lang.Object implements ModuleFactory
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
AMBIGUOUS_MODULE_NAME_EXCEPTION_MESSAGE
Exception message when there is ambigugous module name in config file.
|
static java.lang.String |
BASE_PACKAGE
Base package of checkstyle modules checks.
|
static java.lang.String |
CHECK_SUFFIX
Suffix of checks.
|
private java.lang.ClassLoader |
moduleClassLoader
The class loader used to load Checkstyle core and custom modules.
|
private static java.util.Map<java.lang.String,java.lang.String> |
NAME_TO_FULL_MODULE_NAME
Map of Checkstyle module names to their fully qualified names.
|
static java.lang.String |
NULL_LOADER_MESSAGE
Exception message when null class loader is given.
|
static java.lang.String |
NULL_PACKAGE_MESSAGE
Exception message when null package name is given.
|
static java.lang.String |
PACKAGE_SEPARATOR
Character separate package names in qualified name of java class.
|
private java.util.Set<java.lang.String> |
packages
A list of package names to prepend to class names.
|
static java.lang.String |
STRING_SEPARATOR
Separator to use in strings.
|
private java.util.Map<java.lang.String,java.util.Set<java.lang.String>> |
thirdPartyNameToFullModuleNames
Map of third party Checkstyle module names to the set of their fully qualified names.
|
static java.lang.String |
UNABLE_TO_INSTANTIATE_EXCEPTION_MESSAGE
Exception message when it is unable to create a class instance.
|
Constructor and Description |
---|
PackageObjectFactory(java.util.Set<java.lang.String> packageNames,
java.lang.ClassLoader moduleClassLoader)
Creates a new
PackageObjectFactory instance. |
PackageObjectFactory(java.lang.String packageName,
java.lang.ClassLoader moduleClassLoader)
Creates a new
PackageObjectFactory instance. |
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
createModule(java.lang.String name)
Creates a new instance of a class from a given name, or that name
concatenated with "Check".
|
private java.lang.Object |
createObject(java.lang.String className)
Creates a new instance of a named class.
|
private java.lang.Object |
createObjectFromFullModuleNames(java.lang.String name,
java.util.Set<java.lang.String> fullModuleNames)
Create Object from optional full module names.
|
private java.lang.Object |
createObjectFromMap(java.lang.String name,
java.util.Map<java.lang.String,java.util.Set<java.lang.String>> map)
Create object with the help of the supplied map.
|
private static void |
fillChecksFromAnnotationPackage()
Fill short-to-full module names map with Checks from annotation package.
|
private static void |
fillChecksFromBlocksPackage()
Fill short-to-full module names map with Checks from blocks package.
|
private static void |
fillChecksFromCodingPackage()
Fill short-to-full module names map with Checks from coding package.
|
private static void |
fillChecksFromDesignPackage()
Fill short-to-full module names map with Checks from design package.
|
private static void |
fillChecksFromHeaderPackage()
Fill short-to-full module names map with Checks from header package.
|
private static void |
fillChecksFromImportsPackage()
Fill short-to-full module names map with Checks from imports package.
|
private static void |
fillChecksFromIndentationPackage()
Fill short-to-full module names map with Checks from indentation package.
|
private static void |
fillChecksFromJavadocPackage()
Fill short-to-full module names map with Checks from javadoc package.
|
private static void |
fillChecksFromMetricsPackage()
Fill short-to-full module names map with Checks from metrics package.
|
private static void |
fillChecksFromModifierPackage()
Fill short-to-full module names map with Checks from modifier package.
|
private static void |
fillChecksFromNamingPackage()
Fill short-to-full module names map with Checks from naming package.
|
private static void |
fillChecksFromRegexpPackage()
Fill short-to-full module names map with Checks from regexp package.
|
private static void |
fillChecksFromSizesPackage()
Fill short-to-full module names map with Checks from sizes package.
|
private static void |
fillChecksFromWhitespacePackage()
Fill short-to-full module names map with Checks from whitespace package.
|
private static void |
fillModulesFromChecksPackage()
Fill short-to-full module names map with modules from checks package.
|
private static void |
fillModulesFromCheckstylePackage()
Fill short-to-full module names map with modules from checkstyle package.
|
private static void |
fillModulesFromFilefiltersPackage()
Fill short-to-full module names map with modules from filefilters package.
|
private static void |
fillModulesFromFiltersPackage()
Fill short-to-full module names map with modules from filters package.
|
private static void |
fillShortToFullModuleNamesMap()
Fill short-to-full module names map.
|
private java.util.Map<java.lang.String,java.util.Set<java.lang.String>> |
generateThirdPartyNameToFullModuleName(java.lang.ClassLoader loader)
Generate the map of third party Checkstyle module names to the set of their fully qualified
names.
|
private static java.lang.String |
joinPackageNamesWithClassName(java.lang.String className,
java.util.Set<java.lang.String> packages)
Creates a string by joining package names with a class name.
|
public static final java.lang.String BASE_PACKAGE
public static final java.lang.String UNABLE_TO_INSTANTIATE_EXCEPTION_MESSAGE
public static final java.lang.String AMBIGUOUS_MODULE_NAME_EXCEPTION_MESSAGE
public static final java.lang.String CHECK_SUFFIX
public static final java.lang.String PACKAGE_SEPARATOR
public static final java.lang.String NULL_LOADER_MESSAGE
public static final java.lang.String NULL_PACKAGE_MESSAGE
public static final java.lang.String STRING_SEPARATOR
private static final java.util.Map<java.lang.String,java.lang.String> NAME_TO_FULL_MODULE_NAME
private final java.util.Set<java.lang.String> packages
private final java.lang.ClassLoader moduleClassLoader
private java.util.Map<java.lang.String,java.util.Set<java.lang.String>> thirdPartyNameToFullModuleNames
public PackageObjectFactory(java.util.Set<java.lang.String> packageNames, java.lang.ClassLoader moduleClassLoader)
PackageObjectFactory
instance.packageNames
- the list of package names to usemoduleClassLoader
- class loader used to load Checkstyle
core and custom modulespublic PackageObjectFactory(java.lang.String packageName, java.lang.ClassLoader moduleClassLoader)
PackageObjectFactory
instance.packageName
- The package name to usemoduleClassLoader
- class loader used to load Checkstyle
core and custom modulespublic java.lang.Object createModule(java.lang.String name) throws CheckstyleException
createModule
in interface ModuleFactory
name
- the name of a class.Object
created by loader.CheckstyleException
- if an error occurs.private java.lang.Object createObjectFromMap(java.lang.String name, java.util.Map<java.lang.String,java.util.Set<java.lang.String>> map) throws CheckstyleException
name
- name of module.map
- the supplied map.CheckstyleException
- if the class fails to instantiate or there are ambiguous classes.private java.lang.Object createObjectFromFullModuleNames(java.lang.String name, java.util.Set<java.lang.String> fullModuleNames) throws CheckstyleException
fullModuleName
, otherwise
an exception would be thrown.name
- name of modulefullModuleNames
- the supplied full module names setfullModuleName
CheckstyleException
- if the class fails to instantiate or there are more than one
element in fullModuleName
private java.util.Map<java.lang.String,java.util.Set<java.lang.String>> generateThirdPartyNameToFullModuleName(java.lang.ClassLoader loader)
loader
- the class loader used to load Checkstyle package namesprivate static java.lang.String joinPackageNamesWithClassName(java.lang.String className, java.util.Set<java.lang.String> packages)
className
- name of the class for joining.packages
- packages names.private java.lang.Object createObject(java.lang.String className) throws CheckstyleException
className
- the name of the class to instantiate.Object
created by loader or null.CheckstyleException
- if the class fails to instantiate.private static void fillShortToFullModuleNamesMap()
private static void fillChecksFromAnnotationPackage()
private static void fillChecksFromBlocksPackage()
private static void fillChecksFromCodingPackage()
private static void fillChecksFromDesignPackage()
private static void fillChecksFromHeaderPackage()
private static void fillChecksFromImportsPackage()
private static void fillChecksFromIndentationPackage()
private static void fillChecksFromJavadocPackage()
private static void fillChecksFromMetricsPackage()
private static void fillChecksFromModifierPackage()
private static void fillChecksFromNamingPackage()
private static void fillChecksFromRegexpPackage()
private static void fillChecksFromSizesPackage()
private static void fillChecksFromWhitespacePackage()
private static void fillModulesFromChecksPackage()
private static void fillModulesFromFilefiltersPackage()
private static void fillModulesFromFiltersPackage()
private static void fillModulesFromCheckstylePackage()