org.nutz.dao
类 FieldFilter

java.lang.Object
  继承者 org.nutz.dao.FieldFilter

public class FieldFilter
extends java.lang.Object

定制 POJO 的字段过滤配置。

通过这类,可以指明当前线程的 DAO 操作,哪些对象,的哪些字段会被忽略

 调用例子:
 
 @Table("jax_pf_fold")
 public class JaxFold implements Serializable {
        private static final long serialVersionUID = 5990870005316924017L;
        @Column
        @Name
        //字符类型主键,用name来表示
        private String mldh;
        @Column
        private String mlmc;
        @Column
        private String sjmldh;
        @Column
        private Integer sxh;
        @Column
        private String bz;
 }
 
 例子1,一般表达式
 
 FieldFilter.create(JaxFold.class, "bz|mlmc|mldh").run(new Atom() {
        public void run() {
                nutDao.update(fold);
        }
 });
 
  执行的sql是:
  UPDATE jax_pf_fold SET sjmldh='235',bz='备注',mlmc='信息打印' WHERE mldh='2353' 
  由于 sjmldh 和 mldh 匹配因此,也会被认定为参与操作的字段.
 
例子2,更严格的正则表达式 FieldFilter.create(JaxFold.class, "ˆ(bz|mlmc|mldh)$").run(new Atom() { public void run() { nutDao.update(fold); } }); 执行的sql是: UPDATE jax_pf_fold SET bz='备注',mlmc='信息打印',sxh=2343 WHERE mldh='2353'

作者:
zozoh(zozohtnt@gmail.com)

方法摘要
static FieldFilter create(java.lang.Class<?> type, boolean ignoreNull)
          创建一个过滤器
static FieldFilter create(java.lang.Class<?> type, FieldMatcher mathcer)
          创建一个过滤器
static FieldFilter create(java.lang.Class<?> type, java.lang.String actived)
          创建一个默认不忽略 NULL 值字段的过滤器
static FieldFilter create(java.lang.Class<?> type, java.lang.String actived, boolean ignoreNull)
          创建一个过滤器
static FieldFilter create(java.lang.Class<?> type, java.lang.String actived, java.lang.String locked, boolean ignoreNull)
          创建一个过滤器
static FieldMatcher get(java.lang.Class<?> type)
          根据 POJO 的类型,从 ThreadLocal 中获取字段过滤器
static FieldFilter locked(java.lang.Class<?> type, java.lang.String locked)
          创建一个过滤器
 java.util.Map<java.lang.Class<?>,FieldMatcher> map()
           
 FieldFilter remove(java.lang.Class<?> type)
          移除一个 POJO 的字段过滤设置
 void run(Atom atom)
          运行模板函数
 FieldFilter set(java.lang.Class<?> type, boolean ignoreNull)
          为自身增加一个 POJO 的字段过滤设置
 FieldFilter set(java.lang.Class<?> type, FieldMatcher matcher)
          为自身增加一个 POJO 的字段过滤设置
 FieldFilter set(java.lang.Class<?> type, java.lang.String actived)
          为自身增加一个 POJO 的字段过滤设置
 FieldFilter set(java.lang.Class<?> type, java.lang.String actived, boolean ignoreNull)
          为自身增加一个 POJO 的字段过滤设置
 FieldFilter set(java.lang.Class<?> type, java.lang.String actived, java.lang.String locked, boolean ignoreNull)
          为自身增加一个 POJO 的字段过滤设置
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

方法详细信息

locked

public static FieldFilter locked(java.lang.Class<?> type,
                                 java.lang.String locked)
创建一个过滤器

参数:
type - POJO 类型
locked - 正则表达式,哪些字段会被忽略,语法请参看 Pattern 类的 JavaDoc
返回:
字段过滤器

create

public static FieldFilter create(java.lang.Class<?> type,
                                 boolean ignoreNull)
创建一个过滤器

参数:
type - POJO 类型
ignoreNull - 是否忽略 NULL 值字段
返回:
字段过滤器

create

public static FieldFilter create(java.lang.Class<?> type,
                                 java.lang.String actived)
创建一个默认不忽略 NULL 值字段的过滤器

参数:
type - POJO 类型
actived - 正则表达式,哪些字段会被操作,语法请参看 Pattern 类的 JavaDoc
返回:
字段过滤器
另请参见:
Pattern

create

public static FieldFilter create(java.lang.Class<?> type,
                                 java.lang.String actived,
                                 boolean ignoreNull)
创建一个过滤器

参数:
type - POJO 类型
actived - 正则表达式,哪些字段会被操作,语法请参看 Pattern 类的 JavaDoc
ignoreNull - 是否忽略 NULL 值字段
返回:
字段过滤器
另请参见:
Pattern

create

public static FieldFilter create(java.lang.Class<?> type,
                                 java.lang.String actived,
                                 java.lang.String locked,
                                 boolean ignoreNull)
创建一个过滤器

参数:
type - POJO 类型
actived - 正则表达式,哪些字段会被操作,语法请参看 Pattern 类的 JavaDoc
locked - 正则表达式,哪些字段会被忽略,语法请参看 Pattern 类的 JavaDoc
ignoreNull - 是否忽略 NULL 值字段
返回:
字段过滤器
另请参见:
Pattern

create

public static FieldFilter create(java.lang.Class<?> type,
                                 FieldMatcher mathcer)
创建一个过滤器

参数:
type - POJO 类型
mathcer - 字段匹配器
返回:
字段过滤器

set

public FieldFilter set(java.lang.Class<?> type,
                       boolean ignoreNull)
为自身增加一个 POJO 的字段过滤设置

参数:
type - POJO 类型
ignoreNull - 是否忽略 NULL 值字段
返回:
自身

set

public FieldFilter set(java.lang.Class<?> type,
                       java.lang.String actived)
为自身增加一个 POJO 的字段过滤设置

参数:
type - POJO 类型
actived - 正则表达式,哪些字段会被操作,语法请参看 Pattern 类的 JavaDoc
返回:
自身

set

public FieldFilter set(java.lang.Class<?> type,
                       java.lang.String actived,
                       boolean ignoreNull)
为自身增加一个 POJO 的字段过滤设置

参数:
type - POJO 类型
actived - 正则表达式,哪些字段会被操作,语法请参看 Pattern 类的 JavaDoc
ignoreNull - 是否忽略 NULL 值字段
返回:
自身

set

public FieldFilter set(java.lang.Class<?> type,
                       java.lang.String actived,
                       java.lang.String locked,
                       boolean ignoreNull)
为自身增加一个 POJO 的字段过滤设置

参数:
type - POJO 类型
actived - 正则表达式,哪些字段会被操作,语法请参看 Pattern 类的 JavaDoc
locked - 正则表达式,哪些字段会被忽略,语法请参看 Pattern 类的 JavaDoc
ignoreNull - 是否忽略 NULL 值字段
返回:
自身

set

public FieldFilter set(java.lang.Class<?> type,
                       FieldMatcher matcher)
为自身增加一个 POJO 的字段过滤设置

参数:
type - POJO 类型
matcher - 字段匹配器
返回:
自身

remove

public FieldFilter remove(java.lang.Class<?> type)
移除一个 POJO 的字段过滤设置

参数:
type - POJO 类型
返回:
自身

get

public static FieldMatcher get(java.lang.Class<?> type)
根据 POJO 的类型,从 ThreadLocal 中获取字段过滤器

参数:
type - POJO 的类型
返回:
字段过滤器

map

public java.util.Map<java.lang.Class<?>,FieldMatcher> map()
返回:
内部的文件类型与过滤器的映射表

run

public void run(Atom atom)
运行模板函数

参数:
atom - 运行原子