org.redkale.boot

## 类 ClassFilter<T>

- java.lang.Object
- - org.redkale.boot.ClassFilter<T>

- 类型参数:
    `T` - 泛型

      public final class ClassFilter<T>
      extends java.lang.Object

  class过滤器， 符合条件的class会保留下来存入FilterEntry。

  详情见: http://www.redkale.org

- - ### 嵌套类概要

    嵌套类
    限定符和类型 | 类和说明
    --- | ---
    `static class` | `ClassFilter.FilterEntry<T>` 存放符合条件的class与class指定的属性项
    `static class` | `ClassFilter.Loader` class加载类

  - ### 构造器概要

    构造器
    构造器和说明
    `ClassFilter(java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass, java.lang.Class superClass)`
    `ClassFilter(java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass, java.lang.Class superClass, AnyValue conf)`

  - ### 方法概要

    所有方法 实例方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `boolean` | `accept(AnyValue property, java.lang.Class clazz, boolean autoscan)` 判断class是否有效
    `boolean` | `accept(AnyValue property, java.lang.String classname)` 判断class是否有效
    `ClassFilter<T>` | `and(ClassFilter<T> filter)`
    `void` | `filter(AnyValue property, java.lang.String clazzname)` 自动扫描地过滤指定的class
    `void` | `filter(AnyValue property, java.lang.String clazzname, boolean autoscan)` 过滤指定的class
    `java.lang.Class<? extends java.lang.annotation.Annotation>` | `getAnnotationClass()`
    `java.util.regex.Pattern[]` | `getExcludePatterns()`
    `java.util.Set<ClassFilter.FilterEntry<T>>` | `getFilterEntrys()` 获取符合条件的class集合
    `java.util.regex.Pattern[]` | `getIncludePatterns()`
    `java.lang.Class` | `getSuperClass()`
    `boolean` | `isRefused()`
    `ClassFilter<T>` | `or(ClassFilter<T> filter)`
    `void` | `setAnnotationClass(java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)`
    `void` | `setExcludePatterns(java.lang.String[] excludePatterns)`
    `void` | `setIncludePatterns(java.lang.String[] includePatterns)`
    `void` | `setRefused(boolean refused)`
    `void` | `setSuperClass(java.lang.Class superClass)`

    - ### 从类继承的方法 java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 构造器详细资料

    - #### ClassFilter

          public ClassFilter(java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass,
                             java.lang.Class superClass)

    - #### ClassFilter

          public ClassFilter(java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass,
                             java.lang.Class superClass,
                             AnyValue conf)

  - ### 方法详细资料

    - #### or

          public ClassFilter<T> or(ClassFilter<T> filter)

    - #### and

          public ClassFilter<T> and(ClassFilter<T> filter)

    - #### getFilterEntrys

          public final java.util.Set<ClassFilter.FilterEntry<T>> getFilterEntrys()

      获取符合条件的class集合
      返回:
        Set<FilterEntry<T>>

    - #### filter

          public final void filter(AnyValue property,
                                   java.lang.String clazzname)

      自动扫描地过滤指定的class
      参数:
        `property` - AnyValue
        `clazzname` - String

    - #### filter

          public final void filter(AnyValue property,
                                   java.lang.String clazzname,
                                   boolean autoscan)

      过滤指定的class
      参数:
        `property` - application.xml中对应class节点下的property属性项
        `clazzname` - class名称
        `autoscan` - 为true表示自动扫描的， false表示显著调用filter， AutoLoad的注解将被忽略

    - #### accept

          public boolean accept(AnyValue property,
                                java.lang.String classname)

      判断class是否有效
      参数:
        `property` - AnyValue
        `classname` - String
      返回:
        boolean

    - #### accept

          public boolean accept(AnyValue property,
                                java.lang.Class clazz,
                                boolean autoscan)

      判断class是否有效
      参数:
        `property` - AnyValue
        `clazz` - Class
        `autoscan` - boolean
      返回:
        boolean

    - #### setSuperClass

          public void setSuperClass(java.lang.Class superClass)

    - #### setAnnotationClass

          public void setAnnotationClass(java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)

    - #### getIncludePatterns

          public java.util.regex.Pattern[] getIncludePatterns()

    - #### setIncludePatterns

          public void setIncludePatterns(java.lang.String[] includePatterns)

    - #### getExcludePatterns

          public java.util.regex.Pattern[] getExcludePatterns()

    - #### setExcludePatterns

          public void setExcludePatterns(java.lang.String[] excludePatterns)

    - #### getAnnotationClass

          public java.lang.Class<? extends java.lang.annotation.Annotation> getAnnotationClass()

    - #### getSuperClass

          public java.lang.Class getSuperClass()

    - #### isRefused

          public boolean isRefused()

    - #### setRefused

          public void setRefused(boolean refused)