com.bstek.dorado.config.xml
public class ObjectParser extends ConfigurableDispatchableXmlParser
SELF, SUB_PARSER_PATH_SEPERATOR, WILDCARD
Constructor and Description |
---|
ObjectParser() |
Modifier and Type | Method and Description |
---|---|
protected ObjectDefinition |
createDefinition(org.w3c.dom.Element element,
ParseContext context)
创建一个新的配置声明对象。
|
protected java.lang.Object |
doParse(org.w3c.dom.Node node,
ParseContext context) |
java.lang.Class<?> |
getAnnotationOwnerType() |
protected Scope |
getDefaultScope()
返回默认的最终对象作用范围。
|
java.lang.Class<? extends ObjectDefinition> |
getDefinitionType() |
java.lang.String |
getImpl() |
protected DefinitionReference<? extends Definition>[] |
getParentDefinitionReferences(java.lang.String parentNameText,
ParseContext context)
将parent属性中的配置信息转换成一组指向具体配置声明对象的引用。
例如根据parent="hr.Employee,hr.Manager",可得到两个分别指向hr.Employee和hr. |
protected void |
initDefinition(ObjectDefinition definition,
org.w3c.dom.Element element,
ParseContext context)
初始化一个配置声明对象。
|
protected java.lang.Object |
internalParse(org.w3c.dom.Node node,
ParseContext context) |
boolean |
isInheritable() |
boolean |
isScopable() |
void |
setAnnotationOwnerType(java.lang.Class<?> annotationOwnerType) |
void |
setDefinitionType(java.lang.Class<? extends ObjectDefinition> definitionType) |
void |
setDefinitionType(java.lang.String definitionType)
设置要生成配置声明对象的实现类类型。例如:com.bstek.dorado.data.config.definition.
|
void |
setImpl(java.lang.String impl)
设置配置声明对象生成的最终对象的实例化方式。
注意,有些配置声明对象并不支持复杂的实例化方式。如果将 #setSupportsExpressionImpl(boolean)
属性设置为false, 那么此解析器将仅支持直接以Class名描述的实例化方式。 |
void |
setInheritable(boolean inheritable)
设置是否允许用户通过XML节点中的parent属性来指定配置声明对象的继承关系。
|
void |
setScopable(boolean scopable)
设置是否允许用户通过XML节点中的scope属性来指定最终对象的作用范围。
|
getExpressionHandler, setExpressionHandler, setPropertyParsers, setSubParsers
dispatchChildElements, dispatchElement, findPropertyParser, findSubParser, getPropertyParsers, getSubParsers, parse, parseProperties, parseProperty, registerPropertyParser, registerSubParser
public java.lang.Class<?> getAnnotationOwnerType()
public void setAnnotationOwnerType(java.lang.Class<?> annotationOwnerType)
public void setDefinitionType(java.lang.String definitionType) throws java.lang.ClassNotFoundException
java.lang.ClassNotFoundException
public void setDefinitionType(java.lang.Class<? extends ObjectDefinition> definitionType) throws java.lang.ClassNotFoundException
java.lang.ClassNotFoundException
public java.lang.Class<? extends ObjectDefinition> getDefinitionType()
public void setImpl(java.lang.String impl)
#setSupportsExpressionImpl(boolean)
属性设置为false, 那么此解析器将仅支持直接以Class名描述的实例化方式。com.bstek.dorado.data.config.definition.ObjectDefinition#setImpl(String)
public java.lang.String getImpl()
public void setScopable(boolean scopable)
public boolean isScopable()
public void setInheritable(boolean inheritable)
public boolean isInheritable()
protected Scope getDefaultScope()
protected DefinitionReference<? extends Definition>[] getParentDefinitionReferences(java.lang.String parentNameText, ParseContext context) throws java.lang.Exception
parentNameText
- parent属性的配置信息context
- 解析上下文java.lang.Exception
protected ObjectDefinition createDefinition(org.w3c.dom.Element element, ParseContext context) throws java.lang.Exception
element
- 当前节点context
- 解析上下文java.lang.Exception
protected void initDefinition(ObjectDefinition definition, org.w3c.dom.Element element, ParseContext context) throws java.lang.Exception
definition
- 配置声明对象element
- 当前节点context
- 解析上下文java.lang.Exception
protected java.lang.Object internalParse(org.w3c.dom.Node node, ParseContext context) throws java.lang.Exception
java.lang.Exception
protected java.lang.Object doParse(org.w3c.dom.Node node, ParseContext context) throws java.lang.Exception
doParse
in class DispatchableXmlParser
java.lang.Exception
Copyright © 2001-2011 www.BSTEK.com All Rights Reserved.