Class LinkedRuleBuilder
java.lang.Object
org.apache.commons.digester3.binder.LinkedRuleBuilder
Builder invoked to bind one or more rules to a pattern.
- Since:
- 3.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ClassLoaderprivate final FromBinderRuleSetprivate final Stringprivate final RulesBinderprivate String -
Constructor Summary
ConstructorsConstructorDescriptionLinkedRuleBuilder(RulesBinder mainBinder, FromBinderRuleSet fromBinderRuleSet, ClassLoader classLoader, String keyPattern) -
Method Summary
Modifier and TypeMethodDescriptionprivate <R extends Rule, RB extends AbstractBackToLinkedRuleBuilder<R>>
RBaddProvider(RB provider) Add a provider in the data structure where storing the providers binding.<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.callMethod(String methodName) Calls a method on an object on the stack (normally the top/parent object), passing arguments collected from subsequentcallParam()rule or from the body of this element.Saves a parameter for use by a surroundingcallMethod(String).Construct a "call parameter" rule that will save the body text of this element as the parameter value.A rule implementation that creates a DOM Node containing the XML at the element that matched the rule.Construct an object.A Digester rule which allows the user to declare a plugin.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.Uses anObjectCreationFactoryto create a new object which it pushes onto the object stack.<T> ObjectParamBuilder<T> objectParam(T paramObj) Saves a parameter for use by a surroundingcallMethod(String).Construct rule that automatically sets a property from the body text, taking the property name the same as the current element.Sets properties on the object at the top of the stack, based on child elements with names matching properties on that object.Calls a method on the (top-1) (parent) object, passing the top object (child) as an argument, commonly used to establish parent-child relationships.Sets properties on the object at the top of the stack, based on attributes with corresponding names.setProperty(String attributePropertyName) Sets an individual property on the object at the top of the stack, based on attributes with specified names.Calls a method on the root object on the stack, passing the top object (child) as an argument.Calls a "set top" method on the top (child) object, passing the (top-1) (parent) object as an argument.withNamespaceURI(String namespaceURI) Sets the namespace URI for the current rule pattern.
-
Field Details
-
mainBinder
-
fromBinderRuleSet
-
classLoader
-
keyPattern
-
namespaceURI
-
-
Constructor Details
-
LinkedRuleBuilder
LinkedRuleBuilder(RulesBinder mainBinder, FromBinderRuleSet fromBinderRuleSet, ClassLoader classLoader, String keyPattern)
-
-
Method Details
-
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
BeanPropertySetterBuilderinstance.
-
callMethod
Calls a method on an object on the stack (normally the top/parent object), passing arguments collected from subsequentcallParam()rule or from the body of this element.- Parameters:
methodName- Method name of the parent object to call- Returns:
- a new
CallMethodBuilderinstance.
-
callParam
Saves a parameter for use by a surroundingcallMethod(String).- Returns:
- a new
CallParamBuilderinstance.
-
callParamPath
Construct a "call parameter" rule that will save the body text of this element as the parameter value.- Returns:
- a new
PathCallParamBuilderinstance.
-
factoryCreate
Uses anObjectCreationFactoryto create a new object which it pushes onto the object stack. When the element is complete, the object will be popped.- Returns:
- a new
FactoryCreateBuilderinstance.
-
createObject
Construct an object.- Returns:
- a new
ObjectCreateBuilderinstance.
-
objectParam
Saves a parameter for use by a surroundingcallMethod(String).- Type Parameters:
T- The parameter type to pass along- Parameters:
paramObj- The parameter to pass along- Returns:
- a new
ObjectParamBuilderinstance.
-
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
NestedPropertiesBuilderinstance.
-
setNext
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
SetNextBuilderinstance.
-
setProperties
Sets properties on the object at the top of the stack, based on attributes with corresponding names.- Returns:
- a new
SetPropertiesBuilderinstance.
-
setProperty
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
SetPropertyBuilderinstance.
-
setRoot
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
SetRootBuilderinstance.
-
setTop
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
SetTopBuilderinstance.
-
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 sureDigesterinstances will be created usingPluginRulesrules strategy.- Returns:
- a new
PluginDeclarationRuleBuilderinstance.
-
createPlugin
A Digester rule which allows the user to declare a plugin. NOTE: when using this rule, make sureDigesterinstances will be created usingPluginRulesrules strategy.- Returns:
- a new
PluginDeclarationRuleBuilderinstance.
-
createNode
A rule implementation that creates a DOM Node containing the XML at the element that matched the rule.- Returns:
- a new
NodeCreateRuleProviderinstance.
-
addRule
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 inputRuleinstance is plugged to more than one Digester; useaddRuleCreatedBy(RuleProvider)instead!!!- Type Parameters:
R- The rule type- Parameters:
rule- The custom user rule- Returns:
- a new
ByRuleBuilderinstance. - See Also:
-
addRuleCreatedBy
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
ByRuleProviderBuilderinstance.
-
withNamespaceURI
Sets the namespace URI for the current rule pattern.- Parameters:
namespaceURI- the namespace URI associated to the rule pattern.- Returns:
- this
LinkedRuleBuilderinstance
-
addProvider
Add a provider in the data structure where storing the providers binding.- Type Parameters:
R- The rule will be created by the given provider- Parameters:
provider- The provider has to be stored in the data structure- Returns:
- The provider itself has to be stored in the data structure
-