public abstract class AbstractTypeHierarchyTraversingFilter extends java.lang.Object implements TypeFilter
This filter is useful when matching needs to be made based on potentially the whole class/interface hierarchy. The algorithm employed uses a succeed-fast strategy: if at any time a match is declared, no further processing is carried out.
Modifier and Type | Field and Description |
---|---|
private boolean |
considerInherited |
private boolean |
considerInterfaces |
protected Log |
logger |
Modifier | Constructor and Description |
---|---|
protected |
AbstractTypeHierarchyTraversingFilter(boolean considerInherited,
boolean considerInterfaces) |
Modifier and Type | Method and Description |
---|---|
boolean |
match(MetadataReader metadataReader,
MetadataReaderFactory metadataReaderFactory)
Determine whether this filter matches for the class described by
the given metadata.
|
private boolean |
match(java.lang.String className,
MetadataReaderFactory metadataReaderFactory) |
protected boolean |
matchClassName(java.lang.String className)
Override this to match on type name.
|
protected java.lang.Boolean |
matchInterface(java.lang.String interfaceName)
Override this to match on interface type name.
|
protected boolean |
matchSelf(MetadataReader metadataReader)
Override this to match self characteristics alone.
|
protected java.lang.Boolean |
matchSuperClass(java.lang.String superClassName)
Override this to match on super type name.
|
protected final Log logger
private final boolean considerInherited
private final boolean considerInterfaces
protected AbstractTypeHierarchyTraversingFilter(boolean considerInherited, boolean considerInterfaces)
public boolean match(MetadataReader metadataReader, MetadataReaderFactory metadataReaderFactory) throws java.io.IOException
TypeFilter
match
in interface TypeFilter
metadataReader
- the metadata reader for the target classmetadataReaderFactory
- a factory for obtaining metadata readers
for other classes (such as superclasses and interfaces)java.io.IOException
- in case of I/O failure when reading metadataprivate boolean match(java.lang.String className, MetadataReaderFactory metadataReaderFactory) throws java.io.IOException
java.io.IOException
protected boolean matchSelf(MetadataReader metadataReader)
protected boolean matchClassName(java.lang.String className)
protected java.lang.Boolean matchSuperClass(java.lang.String superClassName)
protected java.lang.Boolean matchInterface(java.lang.String interfaceName)