public abstract class AbstractFieldAccessor extends Object implements FieldAccessor
| 限定符和类型 | 类和说明 |
|---|---|
protected static class |
AbstractFieldAccessor.Block |
protected static class |
AbstractFieldAccessor.Counter |
| 限定符和类型 | 字段和说明 |
|---|---|
protected Map<String,FieldDescriptor> |
allFieldMapping
所有字段
|
protected Ignorer |
ignorer
忽略访问字段
|
protected Set<String> |
ignoreResources
记录忽略了哪些资源
|
protected boolean |
initialized
是否已初始化
|
protected TableNode |
mainTableNode
根对象表结构
|
protected TableInfo |
tableInfo
根对象表信息
|
protected Class<?>[] |
tableLinkOrderRecommend |
protected Class<?>[] |
tableLinkOrderRecommendReversed |
protected Map<String,TableNode> |
tableNodeMapping
所有表结构
|
| 限定符 | 构造器和说明 |
|---|---|
protected |
AbstractFieldAccessor(TableInfo tableInfo) |
| 限定符和类型 | 方法和说明 |
|---|---|
protected void |
addField(FieldDescriptor fieldDescriptor)
添加一个字段
|
protected void |
addNode(TableNode tableNode,
TableNode belongPojoTable)
添加一个表结构
|
protected void |
analysisIgnore() |
protected FakePojoMapping |
buildFakePojoMapping(PojoMapping pojoMapping) |
protected PojoMapping |
buildPojoMapping(TableNode belongTableNode,
PojoMapping curNodePojoMapping)
构建pojoMapping对象
只有父节点的insert|update|delete权限开放时 子节点的@PojoMapping注解标注的insert|update|delete权限控制才有意义
|
protected void |
changePosition(AbstractFieldAccessor.Block[] blocksMapping,
int start,
int end,
int interval) |
protected AbstractFieldAccessor.Block[] |
collecting() |
protected void |
collecting(TableNode entry,
AbstractFieldAccessor.Block[] result,
AbstractFieldAccessor.Counter counter,
AbstractFieldAccessor.Counter childrenCounter,
AbstractFieldAccessor.Block belong)
递归收集全部子节点
|
protected void |
filterFieldByIgnoreResources()
根据计算好的 ignoreResources 设置字段为忽略访问
|
FieldDescriptor |
get(String name)
根据字段完整名称获取字段
|
List<FieldDescriptor> |
getFieldDescriptors() |
TableNode |
getRootTableNode() |
Class<?>[] |
getTableLinkOrderRecommend(boolean reversed)
获得表链顺序建议 提供在增删改时参考
|
Map<String,TableNode> |
getTableNodeMapping() |
boolean |
hasOneToManyMapping() |
protected boolean |
hasOneToManyMapping(TableNode node) |
protected boolean |
ignoreNode(PathDescriptor path)
判断给定路径的资源是否被忽略访问
|
void |
init()
初始化方法 加载对象所有字段及映射对象
|
protected void |
initAnnotationIgnoreFields(List<PojoMapping> mappings)
初始化注解标注的忽略字段
|
protected Set<String> |
initScopes(Collection<String> scopes)
初始化关联范围
|
protected void |
initTableLinkOrderRecommend() |
boolean |
nested() |
protected void |
refreshIndexMapping(AbstractFieldAccessor.Block[] blocksStub,
AbstractFieldAccessor.Block[] blocksMapping) |
void |
setIgnore(Ignorer ignorer)
设置忽略访问的字段
|
protected AbstractFieldAccessor.Block[] |
sort(AbstractFieldAccessor.Block[] blocksStub)
对数据块进行排序
|
String |
toString() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waititeratorforEach, spliteratorprotected final TableInfo tableInfo
protected final TableNode mainTableNode
protected Map<String,FieldDescriptor> allFieldMapping
protected Ignorer ignorer
protected Class<?>[] tableLinkOrderRecommend
protected Class<?>[] tableLinkOrderRecommendReversed
protected boolean initialized
protected AbstractFieldAccessor(TableInfo tableInfo)
public void init()
FieldAccessorinit 在接口中 FieldAccessorprotected void initAnnotationIgnoreFields(List<PojoMapping> mappings)
mappings - 对象映射结构集合protected Set<String> initScopes(Collection<String> scopes)
scopes - 范围protected void analysisIgnore()
public List<FieldDescriptor> getFieldDescriptors()
getFieldDescriptors 在接口中 FieldAccessorprotected void addField(FieldDescriptor fieldDescriptor)
fieldDescriptor - 字段描述protected PojoMapping buildPojoMapping(TableNode belongTableNode, PojoMapping curNodePojoMapping)
belongTableNode - 归属对象表结构curNodePojoMapping - 当前对象映射protected FakePojoMapping buildFakePojoMapping(PojoMapping pojoMapping)
protected void addNode(TableNode tableNode, TableNode belongPojoTable)
tableNode - 表结构belongPojoTable - 所属表protected boolean ignoreNode(PathDescriptor path)
path - 完整路径protected void filterFieldByIgnoreResources()
public void setIgnore(Ignorer ignorer)
FieldAccessorsetIgnore 在接口中 FieldAccessorignorer - 忽略字段public TableNode getRootTableNode()
getRootTableNode 在接口中 FieldAccessorpublic Map<String,TableNode> getTableNodeMapping()
getTableNodeMapping 在接口中 FieldAccessorpublic FieldDescriptor get(String name)
FieldAccessorget 在接口中 FieldAccessorname - 完整名称public boolean hasOneToManyMapping()
hasOneToManyMapping 在接口中 FieldAccessorprotected boolean hasOneToManyMapping(TableNode node)
public boolean nested()
nested 在接口中 FieldAccessorpublic Class<?>[] getTableLinkOrderRecommend(boolean reversed)
FieldAccessorgetTableLinkOrderRecommend 在接口中 FieldAccessorreversed - 是否翻转顺序protected void initTableLinkOrderRecommend()
protected AbstractFieldAccessor.Block[] collecting()
protected void collecting(TableNode entry, AbstractFieldAccessor.Block[] result, AbstractFieldAccessor.Counter counter, AbstractFieldAccessor.Counter childrenCounter, AbstractFieldAccessor.Block belong)
entry - 遍历入口result - 存放了所有数据的平铺容器 需要输出至这个容器counter - 下标计数器childrenCounter - 子节点数量计数器belong - 归属节点protected AbstractFieldAccessor.Block[] sort(AbstractFieldAccessor.Block[] blocksStub)
blocksStub - 数据库引用protected void changePosition(AbstractFieldAccessor.Block[] blocksMapping, int start, int end, int interval)
protected void refreshIndexMapping(AbstractFieldAccessor.Block[] blocksStub, AbstractFieldAccessor.Block[] blocksMapping)
Copyright © 2022. All rights reserved.