/*
 * Copyright (c) 2000, 2007, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Oracle designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Oracle in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */


package javax.management.openmbean;


// java import
//


// jmx import
//


Describes an attribute of an open MBean.

This interface declares the same methods as the class MBeanAttributeInfo. A class implementing this interface (typically OpenMBeanAttributeInfoSupport) should extend MBeanAttributeInfo.

Since:1.5
/** * <p>Describes an attribute of an open MBean.</p> * * <p>This interface declares the same methods as the class {@link * javax.management.MBeanAttributeInfo}. A class implementing this * interface (typically {@link OpenMBeanAttributeInfoSupport}) should * extend {@link javax.management.MBeanAttributeInfo}.</p> * * * @since 1.5 */
public interface OpenMBeanAttributeInfo extends OpenMBeanParameterInfo { // Re-declares the methods that are in class MBeanAttributeInfo of JMX 1.0 // (these will be removed when MBeanAttributeInfo is made a parent interface of this interface)
Returns true if the attribute described by this OpenMBeanAttributeInfo instance is readable, false otherwise.
Returns:true if the attribute is readable.
/** * Returns <tt>true</tt> if the attribute described by this <tt>OpenMBeanAttributeInfo</tt> instance is readable, * <tt>false</tt> otherwise. * * @return true if the attribute is readable. */
public boolean isReadable() ;
Returns true if the attribute described by this OpenMBeanAttributeInfo instance is writable, false otherwise.
Returns:true if the attribute is writable.
/** * Returns <tt>true</tt> if the attribute described by this <tt>OpenMBeanAttributeInfo</tt> instance is writable, * <tt>false</tt> otherwise. * * @return true if the attribute is writable. */
public boolean isWritable() ;
Returns true if the attribute described by this OpenMBeanAttributeInfo instance is accessed through a isXXX getter (applies only to boolean and Boolean values), false otherwise.
Returns:true if the attribute is accessed through isXXX.
/** * Returns <tt>true</tt> if the attribute described by this <tt>OpenMBeanAttributeInfo</tt> instance * is accessed through a <tt>is<i>XXX</i></tt> getter (applies only to <tt>boolean</tt> and <tt>Boolean</tt> values), * <tt>false</tt> otherwise. * * @return true if the attribute is accessed through <tt>is<i>XXX</i></tt>. */
public boolean isIs() ; // commodity methods //
Compares the specified obj parameter with this OpenMBeanAttributeInfo instance for equality.

Returns true if and only if all of the following statements are true:

  • obj is non null,
  • obj also implements the OpenMBeanAttributeInfo interface,
  • their names are equal
  • their open types are equal
  • their access properties (isReadable, isWritable and isIs) are equal
  • their default, min, max and legal values are equal.
This ensures that this equals method works properly for obj parameters which are different implementations of the OpenMBeanAttributeInfo interface.
 
Params:
  • obj – the object to be compared for equality with this OpenMBeanAttributeInfo instance;
Returns: true if the specified object is equal to this OpenMBeanAttributeInfo instance.
/** * Compares the specified <var>obj</var> parameter with this <code>OpenMBeanAttributeInfo</code> instance for equality. * <p> * Returns <tt>true</tt> if and only if all of the following statements are true: * <ul> * <li><var>obj</var> is non null,</li> * <li><var>obj</var> also implements the <code>OpenMBeanAttributeInfo</code> interface,</li> * <li>their names are equal</li> * <li>their open types are equal</li> * <li>their access properties (isReadable, isWritable and isIs) are equal</li> * <li>their default, min, max and legal values are equal.</li> * </ul> * This ensures that this <tt>equals</tt> method works properly for <var>obj</var> parameters which are * different implementations of the <code>OpenMBeanAttributeInfo</code> interface. * <br>&nbsp; * @param obj the object to be compared for equality with this <code>OpenMBeanAttributeInfo</code> instance; * * @return <code>true</code> if the specified object is equal to this <code>OpenMBeanAttributeInfo</code> instance. */
public boolean equals(Object obj);
Returns the hash code value for this OpenMBeanAttributeInfo instance.

The hash code of an OpenMBeanAttributeInfo instance is the sum of the hash codes of all elements of information used in equals comparisons (ie: its name, its open type, and its default, min, max and legal values).

This ensures that t1.equals(t2) implies that t1.hashCode()==t2.hashCode() for any two OpenMBeanAttributeInfo instances t1 and t2, as required by the general contract of the method Object.hashCode().

Returns: the hash code value for this OpenMBeanAttributeInfo instance
/** * Returns the hash code value for this <code>OpenMBeanAttributeInfo</code> instance. * <p> * The hash code of an <code>OpenMBeanAttributeInfo</code> instance is the sum of the hash codes * of all elements of information used in <code>equals</code> comparisons * (ie: its name, its <i>open type</i>, and its default, min, max and legal values). * <p> * This ensures that <code> t1.equals(t2) </code> implies that <code> t1.hashCode()==t2.hashCode() </code> * for any two <code>OpenMBeanAttributeInfo</code> instances <code>t1</code> and <code>t2</code>, * as required by the general contract of the method * {@link Object#hashCode() Object.hashCode()}. * <p> * * @return the hash code value for this <code>OpenMBeanAttributeInfo</code> instance */
public int hashCode();
Returns a string representation of this OpenMBeanAttributeInfo instance.

The string representation consists of the name of this class (ie javax.management.openmbean.OpenMBeanAttributeInfo), the string representation of the name and open type of the described attribute, and the string representation of its default, min, max and legal values.

Returns: a string representation of this OpenMBeanAttributeInfo instance
/** * Returns a string representation of this <code>OpenMBeanAttributeInfo</code> instance. * <p> * The string representation consists of the name of this class (ie <code>javax.management.openmbean.OpenMBeanAttributeInfo</code>), * the string representation of the name and open type of the described attribute, * and the string representation of its default, min, max and legal values. * * @return a string representation of this <code>OpenMBeanAttributeInfo</code> instance */
public String toString(); // methods specific to open MBeans are inherited from // OpenMBeanParameterInfo // }