Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.digester3.binder
Class LinkedRuleBuilder

    java.lang.Object
      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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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