com.bstek.dorado.config.xml
public class DispatchableXmlParser extends java.lang.Object implements XmlParser
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
SELF |
static char |
SUB_PARSER_PATH_SEPERATOR |
static java.lang.String |
WILDCARD
默认解析器的约束条件。
该约束条件表示如果根据某约束条件无法找到匹配的解析器,那么就使用与 WILDCARD 相关的解析器。 |
Constructor and Description |
---|
DispatchableXmlParser() |
Modifier and Type | Method and Description |
---|---|
protected java.util.List<?> |
dispatchChildElements(org.w3c.dom.Element element,
ParseContext context)
遍历所有子节点并将解析任务分派给各个已注册的子解析器,并将所有子解析器返回的解析结果以List的方式返回。
|
protected java.lang.Object |
dispatchElement(java.lang.String pathPrefix,
org.w3c.dom.Element child,
ParseContext context)
将某个XML节点的解析任务分发给匹配的子解析器。
|
protected java.lang.Object |
doParse(org.w3c.dom.Node node,
ParseContext context) |
protected XmlParser |
findPropertyParser(java.lang.String constraint)
根据约束条件返回一个匹配的属性解析器。
|
protected XmlParser |
findSubParser(java.lang.String constraint)
根据约束条件返回一个匹配的子解析器。
|
protected ExpressionHandler |
getExpressionHandler()
返回EL表达式的处理器。
|
java.util.Map<java.lang.String,XmlParser> |
getPropertyParsers()
返回所有已注册的属性解析器。其中Map的键值是约束条件,值是属性解析器。
|
java.util.Map<java.lang.String,XmlParser> |
getSubParsers()
返回所有已注册的子解析器。 其中Map的键值是约束条件,值是子解析器。
|
java.lang.Object |
parse(org.w3c.dom.Node node,
ParseContext context)
解析某个XML节点,并返回解析结果。
|
protected java.util.Map<java.lang.String,java.lang.Object> |
parseProperties(org.w3c.dom.Element element,
ParseContext context)
解析所有的属性,并返回属性值的集合。
此处所指的属性包括XML节点中的属性(Attribute)以及下列形式的子属性节点: 。
如果二者同时存在,则将以子属性节点中的定义为准。 |
protected java.lang.Object |
parseProperty(java.lang.String property,
org.w3c.dom.Node node,
ParseContext context)
解析给定的属性节点。
|
void |
registerPropertyParser(java.lang.String constraint,
XmlParser parser)
向当前解析器中注册一个属性解析器。
|
void |
registerSubParser(java.lang.String constraint,
XmlParser parser)
向当前解析器中注册一个子解析器。
|
public static final java.lang.String SELF
public static final char SUB_PARSER_PATH_SEPERATOR
public static final java.lang.String WILDCARD
WILDCARD
相关的解析器。protected ExpressionHandler getExpressionHandler()
public void registerPropertyParser(java.lang.String constraint, XmlParser parser)
constraint
- 要注册的属性解析器的约束条件。如果此参数的值为null,那么系统将使用WILDCARD
作为内部使用的约束条件。parser
- 属性解析器public java.util.Map<java.lang.String,XmlParser> getPropertyParsers()
protected XmlParser findPropertyParser(java.lang.String constraint)
constraint
- 约束条件。 如果无法直接通过约束条件找到一个匹配的子解析器,那么此方法将尝试返回WILDCARD相关的子解析器。public void registerSubParser(java.lang.String constraint, XmlParser parser)
constraint
- 要注册的子解析器的约束条件。如果此参数的值为null,那么系统将使用WILDCARD作为内部使用的约束条件。parser
- 子解析器public java.util.Map<java.lang.String,XmlParser> getSubParsers()
protected XmlParser findSubParser(java.lang.String constraint)
constraint
- 约束条件。 如果无法直接通过约束条件找到一个匹配的子解析器,那么此方法将尝试返回WILDCARD相关的子解析器。public final java.lang.Object parse(org.w3c.dom.Node node, ParseContext context) throws java.lang.Exception
XmlParser
protected java.lang.Object doParse(org.w3c.dom.Node node, ParseContext context) throws java.lang.Exception
java.lang.Exception
protected java.util.List<?> dispatchChildElements(org.w3c.dom.Element element, ParseContext context) throws java.lang.Exception
element
- 要解析的XML节点context
- 解析的上下文对象java.lang.Exception
protected java.lang.Object dispatchElement(java.lang.String pathPrefix, org.w3c.dom.Element child, ParseContext context) throws java.lang.Exception
element
- XML节点context
- 解析的上下文对象java.lang.Exception
protected java.util.Map<java.lang.String,java.lang.Object> parseProperties(org.w3c.dom.Element element, ParseContext context) throws java.lang.Exception
XXXX
。
如果二者同时存在,则将以子属性节点中的定义为准。element
- XML节点context
- 解析的上下文对象java.lang.Exception
protected java.lang.Object parseProperty(java.lang.String property, org.w3c.dom.Node node, ParseContext context) throws java.lang.Exception
property
- 属性名node
- XML节点context
- 解析的上下文对象java.lang.Exception
Copyright © 2001-2011 www.BSTEK.com All Rights Reserved.