类 AbstractTypeHierarchyTraversingFilter

java.lang.Object
cn.taketoday.core.type.filter.AbstractTypeHierarchyTraversingFilter
所有已实现的接口:
TypeFilter
直接已知子类:
AnnotationTypeFilter, AssignableTypeFilter

public abstract class AbstractTypeHierarchyTraversingFilter extends Object implements TypeFilter
Type filter that is aware of traversing over hierarchy.

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.

从以下版本开始:
4.0
作者:
Ramnivas Laddad, Mark Fisher
  • 字段详细资料

    • log

      private static final Logger log
    • considerInherited

      private final boolean considerInherited
    • considerInterfaces

      private final boolean considerInterfaces
  • 构造器详细资料

    • AbstractTypeHierarchyTraversingFilter

      protected AbstractTypeHierarchyTraversingFilter(boolean considerInherited, boolean considerInterfaces)
  • 方法详细资料

    • match

      public boolean match(MetadataReader metadataReader, MetadataReaderFactory factory) throws IOException
      从接口复制的说明: TypeFilter
      Determine whether this filter matches for the class described by the given metadata.
      指定者:
      match 在接口中 TypeFilter
      参数:
      metadataReader - the metadata reader for the target class
      factory - a factory for obtaining metadata readers for other classes (such as superclasses and interfaces)
      返回:
      whether this filter matches
      抛出:
      IOException - in case of I/O failure when reading metadata
    • match

      private boolean match(String className, MetadataReaderFactory metadataReaderFactory) throws IOException
      抛出:
      IOException
    • matchSelf

      protected boolean matchSelf(MetadataReader metadataReader)
      Override this to match self characteristics alone. Typically, the implementation will use a visitor to extract information to perform matching.
    • matchClassName

      protected boolean matchClassName(String className)
      Override this to match on type name.
    • matchSuperClass

      @Nullable protected Boolean matchSuperClass(String superClassName)
      Override this to match on super type name.
    • matchInterface

      @Nullable protected Boolean matchInterface(String interfaceName)
      Override this to match on interface type name.