org.nutz.dao.impl.entity
类 NutEntity<T>

java.lang.Object
  继承者 org.nutz.dao.impl.entity.NutEntity<T>
所有已实现的接口:
Entity<T>

public class NutEntity<T>
extends java.lang.Object
implements Entity<T>

记录一个实体

作者:
zozoh(zozohtnt@gmail.com)

字段摘要
protected  Borning<T> bornByDefault
          根据默认构造函数或者工厂方法创建实体的方法
protected  Borning<T> bornByRS
          根据 ResultSet 创建实体的方法
protected  LinkFieldSet manymanys
          所有多对多映射字段
protected  LinkFieldSet manys
          所有一对多映射字段
protected  LinkFieldSet ones
          所有一对一映射字段
protected  java.lang.Class<T> type
          实体 Java 类型
 
构造方法摘要
NutEntity(java.lang.Class<T> type)
           
 
方法摘要
 boolean addAfterInsertMacro(Pojo pojo)
          增加一个插入后字段宏
 boolean addBeforeInsertMacro(Pojo pojo)
          增加一个插入前字段宏
 void addIndex(EntityIndex index)
          增加实体索引
 void addLinkField(LinkField lnk)
           
 void addMappingField(MappingField field)
          增加映射字段
 void checkCompositeFields(java.lang.String[] names)
          当所有字段增加完成,这个方法必须被调用,用来搜索复合主键
 java.util.List<Pojo> cloneAfterInsertMacroes()
          获取实体所有自动执行的字段宏列表 这些自动执行宏,在实体被插入到数据库后调用 比如程序员可以为数据库自动生成的字段获取生成后的值
 java.util.List<Pojo> cloneBeforeInsertMacroes()
          获取实体所有自动执行的字段宏列表 这些自动执行宏,在实体被插入到数据库前调用 比如程序员可以为某个字段定义值的自动生成规则
 MappingField getColumn(java.lang.String name)
          根据实体的数据库字段名获取一个实体字段对象
 java.lang.String getColumnComent(java.lang.String columnName)
          根据字段名获得注释
 java.util.List<MappingField> getCompositePKFields()
          如果实体采用了复合主键,调用这个函数能返回所有的复合主键,顺序就是复合主键的顺序 如果没有复合主键,那么将返回 null
 MappingField getField(java.lang.String name)
          根据实体的 Java 字段名获取一个实体字段对象
 MappingField getIdField()
           
 EntityIndex getIndex(java.lang.String name)
          按名称获取一个实体的索引
 java.util.List<EntityIndex> getIndexes()
           
 java.util.List<LinkField> getLinkFields(java.lang.String regex)
          获取实体所有匹配上正则表达是的关联字段,如果正则表达是为 null,则表示获取全部关联字段
 java.util.List<MappingField> getMappingFields()
           
 java.lang.Object getMeta(java.lang.String key)
          获取一个实体补充描述
 java.util.Map<java.lang.String,java.lang.Object> getMetas()
           
 Mirror<T> getMirror()
           
 MappingField getNameField()
           
 T getObject(java.sql.ResultSet rs, FieldMatcher matcher)
          从结果集中生成一个实体实例
 java.util.List<MappingField> getPks()
          根据,"数字主键 > 字符主键 > 复合主键" 的优先顺序,返回主键列表
 PkType getPkType()
           
 java.lang.String getTableComment()
           
 java.lang.String getTableName()
          获取实体的表名
 java.lang.Class<T> getType()
           
 java.lang.String getViewName()
          获取实体视图名
 boolean hasColumnComment()
           
 boolean hasMeta(java.lang.String key)
          实体是否包含某一种 meta
 boolean hasTableComment()
           
 void setAfterInsertMacroes(java.util.List<Pojo> afterInsertMacroes)
           
 void setBeforeInsertMacroes(java.util.List<Pojo> beforeInsertMacroes)
           
 void setHasColumnComment(boolean hasColumnComment)
           
 void setHasTableComment(boolean hasTableComment)
           
 void setTableComment(java.lang.String tComment)
           
 void setTableName(java.lang.String namep)
           
 void setViewName(java.lang.String namep)
           
 java.lang.String toString()
           
 java.util.List<LinkField> visitMany(java.lang.Object obj, java.lang.String regex, LinkVisitor visitor)
          访问所有一对多映射。
 java.util.List<LinkField> visitManyMany(java.lang.Object obj, java.lang.String regex, LinkVisitor visitor)
          访问所有多对多映射。
 java.util.List<LinkField> visitOne(java.lang.Object obj, java.lang.String regex, LinkVisitor visitor)
          访问所有一对一映射。
 Context wrapAsContext(java.lang.Object obj)
          将一个实体对象的实例包裹成 Context 接口
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

字段详细信息

ones

protected LinkFieldSet ones
所有一对一映射字段


manys

protected LinkFieldSet manys
所有一对多映射字段


manymanys

protected LinkFieldSet manymanys
所有多对多映射字段


type

protected java.lang.Class<T> type
实体 Java 类型


bornByRS

protected Borning<T> bornByRS
根据 ResultSet 创建实体的方法


bornByDefault

protected Borning<T> bornByDefault
根据默认构造函数或者工厂方法创建实体的方法

构造方法详细信息

NutEntity

public NutEntity(java.lang.Class<T> type)
方法详细信息

getObject

public T getObject(java.sql.ResultSet rs,
                   FieldMatcher matcher)
从接口 Entity 复制的描述
从结果集中生成一个实体实例

指定者:
接口 Entity<T> 中的 getObject
参数:
rs - 结果集
matcher - 字段匹配器。如果为null,则获取实体的全部字段
返回:
从结果集生成 Java 对象

checkCompositeFields

public void checkCompositeFields(java.lang.String[] names)
当所有字段增加完成,这个方法必须被调用,用来搜索复合主键

参数:
names - 复合主键的 Java 字段名数组

addMappingField

public void addMappingField(MappingField field)
增加映射字段

参数:
field - 数据库实体字段

addLinkField

public void addLinkField(LinkField lnk)
参数:
lnk -

addIndex

public void addIndex(EntityIndex index)
增加实体索引

参数:
index - 实体索引

wrapAsContext

public Context wrapAsContext(java.lang.Object obj)
从接口 Entity 复制的描述
将一个实体对象的实例包裹成 Context 接口

指定者:
接口 Entity<T> 中的 wrapAsContext
参数:
obj - 实体对象的实例
返回:
Context

visitOne

public java.util.List<LinkField> visitOne(java.lang.Object obj,
                                          java.lang.String regex,
                                          LinkVisitor visitor)
从接口 Entity 复制的描述
访问所有一对一映射。即 '@One' 声明的字段

指定者:
接口 Entity<T> 中的 visitOne
参数:
obj - 映射的宿主对象
regex - 正则表达式匹配 Java 字段名。null 表示匹配所有一对一映射字段
visitor - 处理器
返回:
匹配上的映射字段

visitMany

public java.util.List<LinkField> visitMany(java.lang.Object obj,
                                           java.lang.String regex,
                                           LinkVisitor visitor)
从接口 Entity 复制的描述
访问所有一对多映射。即 '@Many' 声明的字段

指定者:
接口 Entity<T> 中的 visitMany
参数:
obj - 映射的宿主对象
regex - 正则表达式匹配 Java 字段名。null 表示匹配所有一对多映射字段
visitor - 处理器
返回:
匹配上的映射字段

visitManyMany

public java.util.List<LinkField> visitManyMany(java.lang.Object obj,
                                               java.lang.String regex,
                                               LinkVisitor visitor)
从接口 Entity 复制的描述
访问所有多对多映射。即 '@ManyMany' 声明的字段

指定者:
接口 Entity<T> 中的 visitManyMany
参数:
obj - 映射的宿主对象
regex - 正则表达式匹配 Java 字段名。null 表示匹配所有多对多映射字段
visitor - 处理器
返回:
匹配上的映射字段

setTableName

public void setTableName(java.lang.String namep)

setTableComment

public void setTableComment(java.lang.String tComment)

setHasTableComment

public void setHasTableComment(boolean hasTableComment)

setHasColumnComment

public void setHasColumnComment(boolean hasColumnComment)

setBeforeInsertMacroes

public void setBeforeInsertMacroes(java.util.List<Pojo> beforeInsertMacroes)

setAfterInsertMacroes

public void setAfterInsertMacroes(java.util.List<Pojo> afterInsertMacroes)

setViewName

public void setViewName(java.lang.String namep)

getField

public MappingField getField(java.lang.String name)
从接口 Entity 复制的描述
根据实体的 Java 字段名获取一个实体字段对象

指定者:
接口 Entity<T> 中的 getField
参数:
name - 实体字段的 Java 对象名
返回:
实体字段

getColumn

public MappingField getColumn(java.lang.String name)
从接口 Entity 复制的描述
根据实体的数据库字段名获取一个实体字段对象

指定者:
接口 Entity<T> 中的 getColumn
参数:
name - 实体字段数据库字段名
返回:
实体字段

getMappingFields

public java.util.List<MappingField> getMappingFields()
指定者:
接口 Entity<T> 中的 getMappingFields
返回:
实体所有的映射字段

getLinkFields

public java.util.List<LinkField> getLinkFields(java.lang.String regex)
从接口 Entity 复制的描述
获取实体所有匹配上正则表达是的关联字段,如果正则表达是为 null,则表示获取全部关联字段

指定者:
接口 Entity<T> 中的 getLinkFields
参数:
regex - 正则表达式
返回:
实体所有匹配上正则表达是的关联字段

getCompositePKFields

public java.util.List<MappingField> getCompositePKFields()
从接口 Entity 复制的描述
如果实体采用了复合主键,调用这个函数能返回所有的复合主键,顺序就是复合主键的顺序

如果没有复合主键,那么将返回 null

指定者:
接口 Entity<T> 中的 getCompositePKFields
返回:
实体所复合主键字段

getNameField

public MappingField getNameField()
指定者:
接口 Entity<T> 中的 getNameField
返回:
实体唯一字符类型主键

getIdField

public MappingField getIdField()
指定者:
接口 Entity<T> 中的 getIdField
返回:
实体唯一数字类型主键

getPks

public java.util.List<MappingField> getPks()
从接口 Entity 复制的描述
根据,"数字主键 > 字符主键 > 复合主键" 的优先顺序,返回主键列表

指定者:
接口 Entity<T> 中的 getPks
返回:
实体的主键列表

getType

public java.lang.Class<T> getType()
指定者:
接口 Entity<T> 中的 getType
返回:
实体的 Java 类型`

getMirror

public Mirror<T> getMirror()
指定者:
接口 Entity<T> 中的 getMirror
返回:
实体的 Java 类型

getIndexes

public java.util.List<EntityIndex> getIndexes()
指定者:
接口 Entity<T> 中的 getIndexes
返回:
实体索引列表

getIndex

public EntityIndex getIndex(java.lang.String name)
从接口 Entity 复制的描述
按名称获取一个实体的索引

指定者:
接口 Entity<T> 中的 getIndex
参数:
name - 索引名称
返回:
实体索引

getTableName

public java.lang.String getTableName()
从接口 Entity 复制的描述
获取实体的表名

指定者:
接口 Entity<T> 中的 getTableName
返回:
实体表名

getViewName

public java.lang.String getViewName()
从接口 Entity 复制的描述
获取实体视图名

指定者:
接口 Entity<T> 中的 getViewName
返回:
实体视图名

addBeforeInsertMacro

public boolean addBeforeInsertMacro(Pojo pojo)
从接口 Entity 复制的描述
增加一个插入前字段宏

指定者:
接口 Entity<T> 中的 addBeforeInsertMacro
参数:
pojo - Pojo 语句
返回:
是否增加成功

addAfterInsertMacro

public boolean addAfterInsertMacro(Pojo pojo)
从接口 Entity 复制的描述
增加一个插入后字段宏

指定者:
接口 Entity<T> 中的 addAfterInsertMacro
参数:
pojo - Pojo 语句
返回:
是否增加成功

cloneBeforeInsertMacroes

public java.util.List<Pojo> cloneBeforeInsertMacroes()
从接口 Entity 复制的描述
获取实体所有自动执行的字段宏列表

这些自动执行宏,在实体被插入到数据库前调用

比如程序员可以为某个字段定义值的自动生成规则

指定者:
接口 Entity<T> 中的 cloneBeforeInsertMacroes
返回:
预执行宏列表

cloneAfterInsertMacroes

public java.util.List<Pojo> cloneAfterInsertMacroes()
从接口 Entity 复制的描述
获取实体所有自动执行的字段宏列表

这些自动执行宏,在实体被插入到数据库后调用

比如程序员可以为数据库自动生成的字段获取生成后的值

指定者:
接口 Entity<T> 中的 cloneAfterInsertMacroes
返回:
后执行字段宏列表

getPkType

public PkType getPkType()
指定者:
接口 Entity<T> 中的 getPkType
返回:
当前实体首选主键类型

getMeta

public java.lang.Object getMeta(java.lang.String key)
从接口 Entity 复制的描述
获取一个实体补充描述

指定者:
接口 Entity<T> 中的 getMeta
参数:
key - 实体补充描述的键值
返回:
实体补充描述的内容

hasMeta

public boolean hasMeta(java.lang.String key)
从接口 Entity 复制的描述
实体是否包含某一种 meta

指定者:
接口 Entity<T> 中的 hasMeta
参数:
key - meta 的键值
返回:
是否包含

getMetas

public java.util.Map<java.lang.String,java.lang.Object> getMetas()
指定者:
接口 Entity<T> 中的 getMetas
返回:
实体补充描述的集合

toString

public java.lang.String toString()
覆盖:
java.lang.Object 中的 toString

hasTableComment

public boolean hasTableComment()
指定者:
接口 Entity<T> 中的 hasTableComment
返回:
表是否有注释

getTableComment

public java.lang.String getTableComment()
指定者:
接口 Entity<T> 中的 getTableComment
返回:
表注释

hasColumnComment

public boolean hasColumnComment()
指定者:
接口 Entity<T> 中的 hasColumnComment
返回:
字段是否注释

getColumnComent

public java.lang.String getColumnComent(java.lang.String columnName)
从接口 Entity 复制的描述
根据字段名获得注释

指定者:
接口 Entity<T> 中的 getColumnComent
参数:
columnName - 字段名称
返回:
注释