org.apache.tomcat.util.digester

## Class ObjectParamRule

- java.lang.Object
- - org.apache.tomcat.util.digester.Rule
  - - org.apache.tomcat.util.digester.ObjectParamRule

    public class ObjectParamRule
    extends Rule

Rule implementation that saves a parameter for use by a surrounding `CallMethodRule`.``

This parameter may be:

- an arbitrary Object defined programatically, assigned when the element pattern associated with the Rule is matched See `ObjectParamRule(int paramIndex, Object param)`
- an arbitrary Object defined programatically, assigned if the element pattern AND specified attribute name are matched See `ObjectParamRule(int paramIndex, String attributeName, Object param)`

Since:
  1.4

### Field Summary

Fields
`protected String` `attributeName` The attribute which we are attempting to match
`protected Object` `param` The parameter we wish to pass to the method call
`protected int` `paramIndex` The zero-relative index of the parameter we are saving.

### Fields inherited from class org.apache.tomcat.util.digester.Rule

`digester, namespaceURI`

### Constructor Summary

Constructors
Constructor and Description
`ObjectParamRule(int paramIndex, Object param)` Construct a "call parameter" rule that will save the given Object as the parameter value.
`ObjectParamRule(int paramIndex, String attributeName, Object param)` Construct a "call parameter" rule that will save the given Object as the parameter value, provided that the specified attribute exists.

### Method Summary

Methods
`void` `begin(String namespace, String name, Attributes attributes)` Process the start of this element.
`String` `toString()` Render a printable version of this Rule.

### Methods inherited from class org.apache.tomcat.util.digester.Rule

`begin, body, body, end, end, finish, getDigester, getNamespaceURI, setDigester, setNamespaceURI`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### attributeName

    protected String attributeName

The attribute which we are attempting to match

#### paramIndex

    protected int paramIndex

The zero-relative index of the parameter we are saving.

#### param

    protected Object param

The parameter we wish to pass to the method call

### Constructor Detail

#### ObjectParamRule

    public ObjectParamRule(int paramIndex,
                   Object param)

Construct a "call parameter" rule that will save the given Object as the parameter value.

Parameters:
  `paramIndex` - The zero-relative parameter number
  `param` - the parameter to pass along

#### ObjectParamRule

    public ObjectParamRule(int paramIndex,
                   String attributeName,
                   Object param)

Construct a "call parameter" rule that will save the given Object as the parameter value, provided that the specified attribute exists.

Parameters:
  `paramIndex` - The zero-relative parameter number
  `attributeName` - The name of the attribute to match
  `param` - the parameter to pass along

### Method Detail

#### begin

    public void begin(String namespace,
             String name,
             Attributes attributes)
               throws Exception

Process the start of this element.

Overrides:
  `begin` in class `Rule`
Parameters:
  `attributes` - The attribute list for this element
  `namespace` - the namespace URI of the matching element, or an empty string if the parser is not namespace aware or the element has no namespace
  `name` - the local name if the parser is namespace aware, or just the element name otherwise
Throws:
  `Exception`

#### toString

    public String toString()

Render a printable version of this Rule.

Overrides:
  `toString` in class `Object`