org.apache.commons.digester3.binder
Class LinkedRuleBuilder

java.lang.Object
  extended by org.apache.commons.digester3.binder.LinkedRuleBuilder

public final class LinkedRuleBuilder
extends Object

Builder invoked to bind one or more rules to a pattern.

Since:
3.0

Method Summary
<R extends Rule>
ByRuleBuilder<R>
addRule(R rule)
          Add a custom user rule in the specified pattern.
<R extends Rule>
ByRuleProviderBuilder<R>
addRuleCreatedBy(RuleProvider<R> provider)
          Add a custom user rule in the specified pattern built by the given provider.
 CallMethodBuilder callMethod(String methodName)
          Calls a method on an object on the stack (normally the top/parent object), passing arguments collected from subsequent callParam() rule or from the body of this element.
 CallParamBuilder callParam()
          Saves a parameter for use by a surrounding callMethod(String).
 PathCallParamBuilder callParamPath()
          Construct a "call parameter" rule that will save the body text of this element as the parameter value.
 NodeCreateRuleProvider createNode()
          A rule implementation that creates a DOM Node containing the XML at the element that matched the rule.
 ObjectCreateBuilder createObject()
          Construct an object.
 PluginCreateRuleBuilder createPlugin()
          A Digester rule which allows the user to declare a plugin.
 PluginDeclarationRuleBuilder declarePlugin()
          A Digester rule which allows the user to pre-declare a class which is to be referenced later at a plugin point by a PluginCreateRule.
 FactoryCreateBuilder factoryCreate()
          Uses an ObjectCreationFactory to create a new object which it pushes onto the object stack.
<T> ObjectParamBuilder<T>
objectParam(T paramObj)
          Saves a parameter for use by a surrounding callMethod(String).
 BeanPropertySetterBuilder setBeanProperty()
          Construct rule that automatically sets a property from the body text, taking the property name the same as the current element.
 NestedPropertiesBuilder setNestedProperties()
          Sets properties on the object at the top of the stack, based on child elements with names matching properties on that object.
 SetNextBuilder setNext(String methodName)
          Calls a method on the (top-1) (parent) object, passing the top object (child) as an argument, commonly used to establish parent-child relationships.
 SetPropertiesBuilder setProperties()
          Sets properties on the object at the top of the stack, based on attributes with corresponding names.
 SetPropertyBuilder setProperty(String attributePropertyName)
          Sets an individual property on the object at the top of the stack, based on attributes with specified names.
 SetRootBuilder setRoot(String methodName)
          Calls a method on the root object on the stack, passing the top object (child) as an argument.
 SetTopBuilder setTop(String methodName)
          Calls a "set top" method on the top (child) object, passing the (top-1) (parent) object as an argument.
 LinkedRuleBuilder withNamespaceURI(String namespaceURI)
          Sets the namespace URI for the current rule pattern.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

setBeanProperty

public BeanPropertySetterBuilder setBeanProperty()
Construct rule that automatically sets a property from the body text, taking the property name the same as the current element.

Returns:
a new BeanPropertySetterBuilder instance.

callMethod

public CallMethodBuilder callMethod(String methodName)
Calls a method on an object on the stack (normally the top/parent object), passing arguments collected from subsequent callParam() rule or from the body of this element.

Parameters:
methodName - Method name of the parent object to call
Returns:
a new CallMethodBuilder instance.

callParam

public CallParamBuilder callParam()
Saves a parameter for use by a surrounding callMethod(String).

Returns:
a new CallParamBuilder instance.

callParamPath

public PathCallParamBuilder callParamPath()
Construct a "call parameter" rule that will save the body text of this element as the parameter value.

Returns:
a new PathCallParamBuilder instance.

factoryCreate

public FactoryCreateBuilder factoryCreate()
Uses an ObjectCreationFactory to create a new object which it pushes onto the object stack. When the element is complete, the object will be popped.

Returns:
a new FactoryCreateBuilder instance.

createObject

public ObjectCreateBuilder createObject()
Construct an object.

Returns:
a new ObjectCreateBuilder instance.

objectParam

public <T> ObjectParamBuilder<T> objectParam(T paramObj)
Saves a parameter for use by a surrounding callMethod(String).

Type Parameters:
T - The parameter type to pass along
Parameters:
paramObj - The parameter to pass along
Returns:
a new ObjectParamBuilder instance.

setNestedProperties

public NestedPropertiesBuilder setNestedProperties()
Sets properties on the object at the top of the stack, based on child elements with names matching properties on that object.

Returns:
a new NestedPropertiesBuilder instance.

setNext

public SetNextBuilder setNext(String methodName)
Calls a method on the (top-1) (parent) object, passing the top object (child) as an argument, commonly used to establish parent-child relationships.

Parameters:
methodName - Method name of the parent method to call
Returns:
a new SetNextBuilder instance.

setProperties

public SetPropertiesBuilder setProperties()
Sets properties on the object at the top of the stack, based on attributes with corresponding names.

Returns:
a new SetPropertiesBuilder instance.

setProperty

public SetPropertyBuilder setProperty(String attributePropertyName)
Sets an individual property on the object at the top of the stack, based on attributes with specified names.

Parameters:
attributePropertyName - Name of the attribute that will contain the name of the property to be set
Returns:
a new SetPropertyBuilder instance.

setRoot

public SetRootBuilder setRoot(String methodName)
Calls a method on the root object on the stack, passing the top object (child) as an argument.

Parameters:
methodName - Method name of the parent method to call
Returns:
a new SetRootBuilder instance.

setTop

public SetTopBuilder setTop(String methodName)
Calls a "set top" method on the top (child) object, passing the (top-1) (parent) object as an argument.

Parameters:
methodName - Method name of the "set parent" method to call
Returns:
a new SetTopBuilder instance.

declarePlugin

public PluginDeclarationRuleBuilder declarePlugin()
A Digester rule which allows the user to pre-declare a class which is to be referenced later at a plugin point by a PluginCreateRule. NOTE: when using this rule, make sure Digester instances will be created using PluginRules rules strategy.

Returns:
a new PluginDeclarationRuleBuilder instance.

createPlugin

public PluginCreateRuleBuilder createPlugin()
A Digester rule which allows the user to declare a plugin. NOTE: when using this rule, make sure Digester instances will be created using PluginRules rules strategy.

Returns:
a new PluginDeclarationRuleBuilder instance.

createNode

public NodeCreateRuleProvider createNode()
A rule implementation that creates a DOM Node containing the XML at the element that matched the rule.

Returns:
a new NodeCreateRuleProvider instance.

addRule

public <R extends Rule> ByRuleBuilder<R> addRule(R rule)
Add a custom user rule in the specified pattern. WARNING keep away from this method as much as you can, since there's the risk same input Rule instance is plugged to more than one Digester; use addRuleCreatedBy(RuleProvider) instead!!!

Type Parameters:
R - The rule type
Parameters:
rule - The custom user rule
Returns:
a new ByRuleBuilder instance.
See Also:
addRuleCreatedBy(RuleProvider), Rule.setDigester(org.apache.commons.digester3.Digester)

addRuleCreatedBy

public <R extends Rule> ByRuleProviderBuilder<R> addRuleCreatedBy(RuleProvider<R> provider)
Add a custom user rule in the specified pattern built by the given provider.

Type Parameters:
R - The rule type
Parameters:
provider - The rule provider
Returns:
a new ByRuleProviderBuilder instance.

withNamespaceURI

public LinkedRuleBuilder withNamespaceURI(String namespaceURI)
Sets the namespace URI for the current rule pattern.

Parameters:
namespaceURI - the namespace URI associated to the rule pattern.
Returns:
this LinkedRuleBuilder instance


Copyright © 2001-2011 The Apache Software Foundation. All Rights Reserved.