org.apache.xpath

## Class Arg

- java.lang.Object
- - org.apache.xpath.Arg

    public class Arg
    extends java.lang.Object

This class holds an instance of an argument on the stack. The value of the argument can be either an XObject or a String containing an expression.

Usage:
  **For internal use only**

### Constructor Summary

Constructors
Constructor and Description
`Arg()` Construct a dummy parameter argument, with no QName and no value (either expression string or value XObject). isVisible defaults to true.
`Arg(QName qname, java.lang.String expression, boolean isFromWithParam)` Construct a parameter argument that contains an expression.
`Arg(QName qname, XObject val)` Construct a parameter argument which has an XObject value.
`Arg(QName qname, XObject val, boolean isFromWithParam)` Construct a parameter argument.

### Method Summary

Methods
`void` `detach()` Have the object release it's resources.
`boolean` `equals(java.lang.Object obj)` Equality function specialized for the variable name.
`java.lang.String` `getExpression()` Get the value expression for this argument.
`QName` `getQName()` Get the qualified name for this argument.
`XObject` `getVal()` Get the value for this argument.
`boolean` `isFromWithParam()` Tell if this variable is a parameter passed with a with-param or as a top-level parameter.
`boolean` `isVisible()` Tell if this variable is currently visible.
`void` `setExpression(java.lang.String expr)` Set the value expression for this argument.
`void` `setIsVisible(boolean b)` Update visibility status of this variable.
`void` `setQName(QName name)` Set the qualified name for this argument.
`void` `setVal(XObject val)` Set the value of this argument.

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

`getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### Arg

    public Arg()

Construct a dummy parameter argument, with no QName and no value (either expression string or value XObject). isVisible defaults to true.

#### Arg

    public Arg(QName qname,
       java.lang.String expression,
       boolean isFromWithParam)

Construct a parameter argument that contains an expression.

Parameters:
  `qname` - Name of the argument, expressed as a QName object.
  `expression` - String to be stored as this argument's value expression.
  `isFromWithParam` - True if this is a parameter variable.

#### Arg

    public Arg(QName qname,
       XObject val)

Construct a parameter argument which has an XObject value. isVisible defaults to true.

Parameters:
  `qname` - Name of the argument, expressed as a QName object.
  `val` - Value of the argument, expressed as an XObject

#### Arg

    public Arg(QName qname,
       XObject val,
       boolean isFromWithParam)

Construct a parameter argument.

Parameters:
  `qname` - Name of the argument, expressed as a QName object.
  `val` - Value of the argument, expressed as an XObject
  `isFromWithParam` - True if this is a parameter variable.

### Method Detail

#### getQName

    public final QName getQName()

Get the qualified name for this argument.

Returns:
  QName object containing the qualified name

#### setQName

    public final void setQName(QName name)

Set the qualified name for this argument.

Parameters:
  `name` - QName object representing the new Qualified Name.

#### getVal

    public final XObject getVal()

Get the value for this argument.

Returns:
  the argument's stored XObject value.
See Also:
  `setVal(XObject)`

#### setVal

    public final void setVal(XObject val)

Set the value of this argument.

Parameters:
  `val` - an XObject representing the arguments's value.
See Also:
  `getVal()`

#### detach

    public void detach()

Have the object release it's resources. Call only when the variable or argument is going out of scope.

#### getExpression

    public java.lang.String getExpression()

Get the value expression for this argument.

Returns:
  String containing the expression previously stored into this argument
See Also:
  `setExpression(java.lang.String)`

#### setExpression

    public void setExpression(java.lang.String expr)

Set the value expression for this argument.

Parameters:
  `expr` - String containing the expression to be stored as this argument's value.
See Also:
  `getExpression()`

#### isFromWithParam

    public boolean isFromWithParam()

Tell if this variable is a parameter passed with a with-param or as a top-level parameter.

#### isVisible

    public boolean isVisible()

Tell if this variable is currently visible.

#### setIsVisible

    public void setIsVisible(boolean b)

Update visibility status of this variable.

#### equals

    public boolean equals(java.lang.Object obj)

Equality function specialized for the variable name. If the argument is not a qname, it will deligate to the super class.

Overrides:
  `equals` in class `java.lang.Object`
Parameters:
  `obj` - the reference object with which to compare.
Returns:
  `true` if this object is the same as the obj argument; `false` otherwise.