com.bstek.dorado.data.type.manager
public abstract class DataTypeManagerSupport extends java.lang.Object implements DataTypeManager
此外,为了提高自动匹配的效率,DataTypeManagerSupport会在每次通过运算为一个Java数据类型匹配DataType之后, 将这个匹配关系保存到用于缓存的Map当中。以后,当系统再次发出相同Java数据类型的匹配请求时, DataTypeManagerSupport将直接从缓存中提取匹配结果。
上面提到的通过运算完成的匹配操作是指并非直接通过DataTypeDefinitionManager提取到的匹配结果。 例如:我们在DataTypeDefinitionManager中注册了java.util.Map的相应DataType是MapDataType, 那么在为java.util.HashMap进行匹配时,系统必须通过一些运算才能同样映射到MapDataType上。
Constructor and Description |
---|
DataTypeManagerSupport() |
Modifier and Type | Method and Description |
---|---|
void |
clearCache()
清除用于提高getDataType(Type type)操作效率的缓存信息。
|
DataType |
createDataType(java.lang.String name) |
DataType |
createDataType(java.lang.String name,
java.lang.String parents) |
protected DataType |
doCreateDataType(java.lang.String name,
java.lang.String parents) |
DataType |
getDataType(java.lang.String name)
根据DataType的名字返回相应的DataType。
|
DataType |
getDataType(java.lang.reflect.Type type)
根据注册信息来确定应该用哪种DataType来描述给定的Class类型。 即根据Java数据类型自动选择最为匹配的DataType。
|
protected DataType |
getDataTypeByDefinition(DataTypeDefinition dataTypeDefinition)
根据得到的DataType配置声明对象返回一个真正的DataType对象。
|
protected abstract DataTypeDefinition |
getDataTypeDefinition(java.lang.reflect.Type type)
内部的用于完成根据Java数据类型自动选择最为匹配的DataType功能的抽象方法。
|
DataTypeDefinitionManager |
getDataTypeDefinitionManager()
返回DataType配置声明管理器。
|
java.util.Set<java.lang.String> |
getDataTypeNames() |
protected DataTypeDefinition |
getDefinedDataTypeDefinition(java.lang.String name)
根据DataType的名称返回一个DataType的配置声明对象。
|
protected DataTypeDefinition |
getDefinedDataTypeDefinition(java.lang.reflect.Type type)
根据一个给定的Java数据类型返回一个匹配的DataType的配置声明对象。
注意,此方法只根据给定的Java数据类型到DataTypeDefinitionManager进行简单的对象提取。 |
void |
setDataTypeDefinitionManager(DataTypeDefinitionManager dataTypeDefinitionManager)
设置DataType配置声明管理器。
|
public void setDataTypeDefinitionManager(DataTypeDefinitionManager dataTypeDefinitionManager)
public DataTypeDefinitionManager getDataTypeDefinitionManager()
DataTypeManager
getDataTypeDefinitionManager
in interface DataTypeManager
protected DataType getDataTypeByDefinition(DataTypeDefinition dataTypeDefinition) throws java.lang.Exception
dataTypeDefinition
- DataType的配置声明对象java.lang.Exception
protected DataTypeDefinition getDefinedDataTypeDefinition(java.lang.String name)
name
- DataType的名称protected DataTypeDefinition getDefinedDataTypeDefinition(java.lang.reflect.Type type)
type
- Java数据类型public DataType getDataType(java.lang.String name) throws java.lang.Exception
DataTypeManager
getDataType
in interface DataTypeManager
name
- DataType的名字java.lang.Exception
public DataType getDataType(java.lang.reflect.Type type) throws java.lang.Exception
DataTypeManager
getDataType
in interface DataTypeManager
type
- 给定的Class类型java.lang.Exception
public java.util.Set<java.lang.String> getDataTypeNames()
getDataTypeNames
in interface DataTypeManager
public DataType createDataType(java.lang.String name) throws java.lang.Exception
createDataType
in interface DataTypeManager
java.lang.Exception
public DataType createDataType(java.lang.String name, java.lang.String parents) throws java.lang.Exception
createDataType
in interface DataTypeManager
java.lang.Exception
protected DataType doCreateDataType(java.lang.String name, java.lang.String parents) throws java.lang.Exception
java.lang.Exception
protected abstract DataTypeDefinition getDataTypeDefinition(java.lang.reflect.Type type) throws java.lang.Exception
注意:实现此方法时不必实现可直接利用type在DataTypeDefinitionManager中找到相应DataType的情况, 此功能已由DataTypeManagerSupport实现。 因此在此方法只需要考虑那些不能直接通过DataTypeDefinitionManager完成匹配的情况。
type
- 给定的Class类型java.lang.Exception
public void clearCache()
DataTypeManager
clearCache
in interface DataTypeManager
Copyright © 2001-2011 www.BSTEK.com All Rights Reserved.