public interface ExpressionEngine
Definition of an interface for evaluating keys for hierarchical configurations.
An expression engine knows how to map a key for a configuration's
property to a single or a set of configuration nodes. Thus it defines the way
how properties are addressed in this configuration. Methods of a
configuration that have to handle property key (e.g.
getProperty()
or addProperty()
do not interpret
the passed in keys on their own, but delegate this task to an associated
expression engine. This expression engine will then find out, which
configuration nodes are addressed by the key.
Separating the task of evaluating property keys from the configuration object has the advantage that many different expression languages (i.e. ways for querying or setting properties) can be supported. Just set a suitable implementation of this interface as the configuration's expression engine, and you can use the syntax provided by this implementation.
Modifier and Type | Method and Description |
---|---|
String |
nodeKey(ConfigurationNode node,
String parentKey)
Returns the key for the specified node in the expression language
supported by an implementation.
|
NodeAddData |
prepareAdd(ConfigurationNode root,
String key)
Returns information needed for an add operation.
|
List<ConfigurationNode> |
query(ConfigurationNode root,
String key)
Finds the node(s) that is (are) matched by the specified key.
|
List<ConfigurationNode> query(ConfigurationNode root, String key)
root
- the root node of a hierarchy of configuration nodeskey
- the key to be evaluatedString nodeKey(ConfigurationNode node, String parentKey)
getKeys()
method.node
- the node, for which the key must be constructedparentKey
- the key of this node's parent (can be null for
the root node)NodeAddData prepareAdd(ConfigurationNode root, String key)
root
- the root nodekey
- the key for the new propertyCopyright © 2001–2013 The Apache Software Foundation. All rights reserved.