## 类的使用
org.redkale.source.FilterNode

- 使用FilterNode的程序包
  程序包 | 说明
  --- | ---
  org.redkale.service | Service接口和模式配置包
  org.redkale.source | 数据源(数据库、缓存)操作包

- - ### org.redkale.service中FilterNode的使用

    参数类型为FilterNode的org.redkale.service中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `<T> int` | DataSourceService.`delete(java.lang.Class<T> clazz, FilterNode node)`
    `<T> boolean` | DataSourceService.`exists(java.lang.Class<T> clazz, FilterNode node)`
    `<T> T` | DataSourceService.`find(java.lang.Class<T> clazz, FilterNode node)`
    `<T> T` | DataSourceService.`find(java.lang.Class<T> clazz, SelectColumn selects, FilterNode node)`
    `java.lang.Number` | DataSourceService.`getNumberResult(java.lang.Class entityClass, FilterFunc func, java.lang.Number defVal, java.lang.String column, FilterNode node)`
    `java.lang.Number` | DataSourceService.`getNumberResult(java.lang.Class entityClass, FilterFunc func, java.lang.String column, FilterNode node)`
    `<T,V extends java.io.Serializable> java.util.List<V>` | DataSourceService.`queryColumnList(java.lang.String selectedColumn, java.lang.Class<T> clazz, FilterNode node)`
    `<T,K extends java.io.Serializable,N extends java.lang.Number> java.util.Map<K,N>` | DataSourceService.`queryColumnMap(java.lang.Class<T> entityClass, java.lang.String keyColumn, FilterFunc func, java.lang.String funcColumn, FilterNode node)`
    `<T,V extends java.io.Serializable> java.util.HashSet<V>` | DataSourceService.`queryColumnSet(java.lang.String selectedColumn, java.lang.Class<T> clazz, FilterNode node)`
    `<T,V extends java.io.Serializable> Sheet<V>` | DataSourceService.`queryColumnSheet(java.lang.String selectedColumn, java.lang.Class<T> clazz, Flipper flipper, FilterNode node)`
    `<T> java.util.List<T>` | DataSourceService.`queryList(java.lang.Class<T> clazz, FilterNode node)`
    `<T> java.util.List<T>` | DataSourceService.`queryList(java.lang.Class<T> clazz, Flipper flipper, FilterNode node)`
    `<T> java.util.List<T>` | DataSourceService.`queryList(java.lang.Class<T> clazz, SelectColumn selects, FilterNode node)`
    `<T> java.util.List<T>` | DataSourceService.`queryList(java.lang.Class<T> clazz, SelectColumn selects, Flipper flipper, FilterNode node)`
    `<T> Sheet<T>` | DataSourceService.`querySheet(java.lang.Class<T> clazz, Flipper flipper, FilterNode node)`
    `<T> Sheet<T>` | DataSourceService.`querySheet(java.lang.Class<T> clazz, SelectColumn selects, Flipper flipper, FilterNode node)`
    `<T> int` | DataSourceService.`updateColumn(java.lang.Class<T> clazz, FilterNode node, ColumnValue... values)`
    `<T> int` | DataSourceService.`updateColumn(java.lang.Class<T> clazz, java.lang.String column, java.io.Serializable value, FilterNode node)`
    `<T> int` | DataSourceService.`updateColumns(T bean, FilterNode node, java.lang.String... columns)`

  - ### org.redkale.source中FilterNode的使用

    org.redkale.source中FilterNode的子类
    限定符和类型 | 类和说明
    --- | ---
    `class` | `FilterJoinNode` 详情见: https://redkale.org

    声明为FilterNode的org.redkale.source中的字段
    限定符和类型 | 字段和说明
    --- | ---
    `protected FilterNode[]` | FilterNode.`nodes`

    返回FilterNode的org.redkale.source中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `FilterNode` | FilterNode.`and(FilterNode node)`
    `FilterNode` | FilterNode.`and(java.lang.String column, FilterExpress express, boolean itemand, java.io.Serializable value)`
    `FilterNode` | FilterNode.`and(java.lang.String column, FilterExpress express, java.io.Serializable value)`
    `FilterNode` | FilterNode.`and(java.lang.String column, java.io.Serializable value)`
    `protected FilterNode` | FilterJoinNode.`any(FilterNode node0, boolean signor)`
    `protected FilterNode` | FilterNode.`any(FilterNode node, boolean signor)`
    `static FilterNode` | FilterNode.`create(java.lang.String column, FilterExpress express, boolean itemand, java.io.Serializable value)`
    `static FilterNode` | FilterNode.`create(java.lang.String column, FilterExpress express, java.io.Serializable value)`
    `static FilterNode` | FilterNode.`create(java.lang.String column, java.io.Serializable value)`
    `static FilterNode` | FilterNodeBean.`createFilterNode(FilterBean bean)`
    `FilterNode[]` | FilterNode.`getNodes()`
    `FilterNode` | FilterNode.`or(FilterNode node)`
    `FilterNode` | FilterNode.`or(java.lang.String column, FilterExpress express, boolean itemand, java.io.Serializable value)`
    `FilterNode` | FilterNode.`or(java.lang.String column, FilterExpress express, java.io.Serializable value)`
    `FilterNode` | FilterNode.`or(java.lang.String column, java.io.Serializable value)`

    参数类型为FilterNode的org.redkale.source中的方法
    限定符和类型 | 方法和说明
    --- | ---
    `FilterNode` | FilterNode.`and(FilterNode node)`
    `protected FilterNode` | FilterJoinNode.`any(FilterNode node0, boolean signor)`
    `protected FilterNode` | FilterNode.`any(FilterNode node, boolean signor)`
    `<T> int` | DataDefaultSource.`delete(java.lang.Class<T> clazz, FilterNode node)`
    `<T> int` | DataSource.`delete(java.lang.Class<T> clazz, FilterNode node)`
    `java.io.Serializable[]` | EntityCache.`delete(FilterNode node)`
    `<T> boolean` | DataDefaultSource.`exists(java.lang.Class<T> clazz, FilterNode node)`
    `<T> boolean` | DataSource.`exists(java.lang.Class<T> clazz, FilterNode node)`
    `boolean` | EntityCache.`exists(FilterNode node)`
    `<T> T` | DataDefaultSource.`find(java.lang.Class<T> clazz, FilterNode node)`
    `<T> T` | DataSource.`find(java.lang.Class<T> clazz, FilterNode node)`
    `<T> T` | DataDefaultSource.`find(java.lang.Class<T> clazz, SelectColumn selects, FilterNode node)`
    `<T> T` | DataSource.`find(java.lang.Class<T> clazz, SelectColumn selects, FilterNode node)`
    `T` | EntityCache.`find(SelectColumn selects, FilterNode node)`
    `java.lang.Number` | DataDefaultSource.`getNumberResult(java.lang.Class entityClass, FilterFunc func, java.lang.Number defVal, java.lang.String column, FilterNode node)`
    `java.lang.Number` | DataSource.`getNumberResult(java.lang.Class entityClass, FilterFunc func, java.lang.Number defVal, java.lang.String column, FilterNode node)`
    `java.lang.Number` | DataDefaultSource.`getNumberResult(java.lang.Class entityClass, FilterFunc func, java.lang.String column, FilterNode node)`
    `java.lang.Number` | DataSource.`getNumberResult(java.lang.Class entityClass, FilterFunc func, java.lang.String column, FilterNode node)`
    `<V> java.lang.Number` | EntityCache.`getNumberResult(FilterFunc func, java.lang.Number defResult, java.lang.String column, FilterNode node)`
    `java.lang.String` | EntityInfo.`getTable(FilterNode node)`
    `default java.lang.String` | DistributeTableStrategy.`getTable(java.lang.String table, FilterNode node)`
    `FilterNode` | FilterNode.`or(FilterNode node)`
    `<T,V extends java.io.Serializable> java.util.List<V>` | DataDefaultSource.`queryColumnList(java.lang.String selectedColumn, java.lang.Class<T> clazz, FilterNode node)`
    `<T,V extends java.io.Serializable> java.util.List<V>` | DataSource.`queryColumnList(java.lang.String selectedColumn, java.lang.Class<T> clazz, FilterNode node)`
    `<T,K extends java.io.Serializable,N extends java.lang.Number> java.util.Map<K,N>` | DataDefaultSource.`queryColumnMap(java.lang.Class<T> entityClass, java.lang.String keyColumn, FilterFunc func, java.lang.String funcColumn, FilterNode node)`
    `<T,K extends java.io.Serializable,N extends java.lang.Number> java.util.Map<K,N>` | DataSource.`queryColumnMap(java.lang.Class<T> entityClass, java.lang.String keyColumn, FilterFunc func, java.lang.String funcColumn, FilterNode node)`
    `<K,V> java.util.Map<java.io.Serializable,java.lang.Number>` | EntityCache.`queryColumnMap(java.lang.String keyColumn, FilterFunc func, java.lang.String funcColumn, FilterNode node)`
    `<T,V extends java.io.Serializable> java.util.HashSet<V>` | DataDefaultSource.`queryColumnSet(java.lang.String selectedColumn, java.lang.Class<T> clazz, FilterNode node)`
    `<T,V extends java.io.Serializable> java.util.HashSet<V>` | DataSource.`queryColumnSet(java.lang.String selectedColumn, java.lang.Class<T> clazz, FilterNode node)`
    `<T,V extends java.io.Serializable> Sheet<V>` | DataDefaultSource.`queryColumnSheet(java.lang.String selectedColumn, java.lang.Class<T> clazz, Flipper flipper, FilterNode node)`
    `<T,V extends java.io.Serializable> Sheet<V>` | DataSource.`queryColumnSheet(java.lang.String selectedColumn, java.lang.Class<T> clazz, Flipper flipper, FilterNode node)`
    `<T> java.util.List<T>` | DataDefaultSource.`queryList(java.lang.Class<T> clazz, FilterNode node)`
    `<T> java.util.List<T>` | DataSource.`queryList(java.lang.Class<T> clazz, FilterNode node)`
    `<T> java.util.List<T>` | DataDefaultSource.`queryList(java.lang.Class<T> clazz, Flipper flipper, FilterNode node)`
    `<T> java.util.List<T>` | DataSource.`queryList(java.lang.Class<T> clazz, Flipper flipper, FilterNode node)`
    `<T> java.util.List<T>` | DataDefaultSource.`queryList(java.lang.Class<T> clazz, SelectColumn selects, FilterNode node)`
    `<T> java.util.List<T>` | DataSource.`queryList(java.lang.Class<T> clazz, SelectColumn selects, FilterNode node)`
    `<T> java.util.List<T>` | DataDefaultSource.`queryList(java.lang.Class<T> clazz, SelectColumn selects, Flipper flipper, FilterNode node)`
    `<T> java.util.List<T>` | DataSource.`queryList(java.lang.Class<T> clazz, SelectColumn selects, Flipper flipper, FilterNode node)`
    `Sheet<T>` | EntityCache.`querySheet(boolean needtotal, SelectColumn selects, Flipper flipper, FilterNode node)`
    `<T> Sheet<T>` | DataDefaultSource.`querySheet(java.lang.Class<T> clazz, Flipper flipper, FilterNode node)`
    `<T> Sheet<T>` | DataSource.`querySheet(java.lang.Class<T> clazz, Flipper flipper, FilterNode node)`
    `<T> Sheet<T>` | DataDefaultSource.`querySheet(java.lang.Class<T> clazz, SelectColumn selects, Flipper flipper, FilterNode node)`
    `<T> Sheet<T>` | DataSource.`querySheet(java.lang.Class<T> clazz, SelectColumn selects, Flipper flipper, FilterNode node)`
    `Sheet<T>` | EntityCache.`querySheet(SelectColumn selects, Flipper flipper, FilterNode node)`
    `void` | FilterNode.`setNodes(FilterNode[] nodes)`
    `<V> T[]` | EntityCache.`update(Attribute<T,V> attr, V fieldValue, FilterNode node)`
    `T[]` | EntityCache.`update(T value, java.util.Collection<Attribute<T,java.io.Serializable>> attrs, FilterNode node)`
    `<T> int` | DataDefaultSource.`updateColumn(java.lang.Class<T> clazz, FilterNode node, ColumnValue... values)` 根据主键值更新对象的多个column对应的值， 必须是Entity Class
    `<T> int` | DataSource.`updateColumn(java.lang.Class<T> clazz, FilterNode node, ColumnValue... values)`
    `<T> int` | DataDefaultSource.`updateColumn(java.lang.Class<T> clazz, java.lang.String column, java.io.Serializable value, FilterNode node)` 根据主键值更新对象的column对应的值， 必须是Entity Class
    `<T> int` | DataSource.`updateColumn(java.lang.Class<T> clazz, java.lang.String column, java.io.Serializable value, FilterNode node)`
    `<V> T[]` | EntityCache.`updateColumn(FilterNode node, java.util.List<Attribute<T,java.io.Serializable>> attrs, java.util.List<ColumnValue> values)`
    `<T> int` | DataDefaultSource.`updateColumns(T bean, FilterNode node, java.lang.String... columns)` 更新对象指定的一些字段， 必须是Entity对象
    `<T> int` | DataSource.`updateColumns(T bean, FilterNode node, java.lang.String... columns)`