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 |
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 interfaceNames)
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.
|
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 interfaceNames)