Module java.management
Package javax.management

## Class AttributeValueExp

- java.lang.Object
- - javax.management.AttributeValueExp

- All Implemented Interfaces:
    `Serializable`, `ValueExp`

      public class AttributeValueExp
      extends Object
      implements ValueExp

  Represents attributes used as arguments to relational constraints. Instances of this class are usually obtained using `Query.attr`.

  An `AttributeValueExp` may be used anywhere a `ValueExp` is required.

  Since:
    1.5
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `AttributeValueExp()` | Deprecated. An instance created with this constructor cannot be used in a query.
    `AttributeValueExp​(String attr)` | Creates a new `AttributeValueExp` representing the specified object attribute, named attr.

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `ValueExp` | `apply​(ObjectName name)` | Applies the `AttributeValueExp` on an MBean.
    `protected Object` | `getAttribute​(ObjectName name)` | Return the value of the given attribute in the named MBean.
    `String` | `getAttributeName()` | Returns a string representation of the name of the attribute.
    `void` | `setMBeanServer​(MBeanServer s)` | Deprecated. This method has no effect.
    `String` | `toString()` | Returns the string representing its value.

    - ### Methods declared in class java.lang.Object

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

- - ### Constructor Detail

    - #### AttributeValueExp

          @Deprecated
          public AttributeValueExp()

      Deprecated.
      An instance created with this constructor cannot be used in a query.
      An `AttributeValueExp` with a null attribute.

    - #### AttributeValueExp

          public AttributeValueExp​(String attr)

      Creates a new `AttributeValueExp` representing the specified object attribute, named attr.
      Parameters:
        `attr` - the name of the attribute whose value is the value of this `ValueExp`.

  - ### Method Detail

    - #### getAttributeName

          public String getAttributeName()

      Returns a string representation of the name of the attribute.
      Returns:
        the attribute name.

    - #### apply

          public ValueExp apply​(ObjectName name)
                         throws BadStringOperationException,
                                BadBinaryOpValueExpException,
                                BadAttributeValueExpException,
                                InvalidApplicationException

      Applies the `AttributeValueExp` on an MBean. This method calls `getAttribute(name)` and wraps the result as a `ValueExp`. The value returned by `getAttribute` must be a `Number`, `String`, or `Boolean`; otherwise this method throws a `BadAttributeValueExpException`, which will cause the containing query to be false for this `name`.

      Specified by:
        `apply` in interface `ValueExp`
      Parameters:
        `name` - The name of the MBean on which the `AttributeValueExp` will be applied.
      Returns:
        The `ValueExp`.
      Throws:
        `BadStringOperationException` - when an invalid string operation is passed to a method for constructing a query
        `BadBinaryOpValueExpException` - when an invalid expression is passed to a method for constructing a query
        `BadAttributeValueExpException` - when an invalid MBean attribute is passed to a query constructing method
        `InvalidApplicationException` - when an invalid apply is attempted

    - #### toString

          public String toString()

      Returns the string representing its value.
      Overrides:
        `toString` in class `Object`
      Returns:
        a string representation of the object.

    - #### setMBeanServer

          @Deprecated
          public void setMBeanServer​(MBeanServer s)

      Deprecated.
      This method has no effect. The MBean Server used to obtain an attribute value is `QueryEval.getMBeanServer()`.
      Sets the MBean server on which the query is to be performed.
      Specified by:
        `setMBeanServer` in interface `ValueExp`
      Parameters:
        `s` - The MBean server on which the query is to be performed.

    - #### getAttribute

          protected Object getAttribute​(ObjectName name)

      Return the value of the given attribute in the named MBean. If the attempt to access the attribute generates an exception, return null.

      The MBean Server used is the one returned by `QueryEval.getMBeanServer()`.

      Parameters:
        `name` - the name of the MBean whose attribute is to be returned.
      Returns:
        the value of the attribute, or null if it could not be obtained.