public abstract class AbstractTypeHierarchyTraversingFilter extends 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 | 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. | 
| protected boolean | matchClassName(String className)Override this to match on type name. | 
| protected Boolean | matchInterface(String interfaceName)Override this to match on interface type name. | 
| protected boolean | matchSelf(MetadataReader metadataReader)Override this to match self characteristics alone. | 
| protected Boolean | matchSuperClass(String superClassName)Override this to match on super type name. | 
protected final Log logger
protected AbstractTypeHierarchyTraversingFilter(boolean considerInherited,
                                                boolean considerInterfaces)
public boolean match(MetadataReader metadataReader, MetadataReaderFactory metadataReaderFactory) throws IOException
TypeFiltermatch in interface TypeFiltermetadataReader - the metadata reader for the target classmetadataReaderFactory - a factory for obtaining metadata readers
 for other classes (such as superclasses and interfaces)IOException - in case of I/O failure when reading metadataprotected boolean matchSelf(MetadataReader metadataReader)
protected boolean matchClassName(String className)
@Nullable protected Boolean matchSuperClass(String superClassName)