/*
* Copyright (c) 2000, 2014, 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 {@code true} if the attribute described by this {@code OpenMBeanAttributeInfo}
* instance is readable, {@code false} 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 {@code true} if the attribute described by this {@code OpenMBeanAttributeInfo}
* instance is writable, {@code false} 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 {@code true} if the attribute described by this {@code OpenMBeanAttributeInfo} instance
* is accessed through a <code>is<i>XXX</i></code> getter
* (applies only to {@code boolean} and {@code Boolean} values),
* {@code false} otherwise.
*
* @return true if the attribute is accessed through <code>is<i>XXX</i></code>.
*/
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} instance for equality.
* <p>
* Returns {@code true} 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} 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 {@code equals} method works properly for <var>obj</var> parameters which are
* different implementations of the {@code OpenMBeanAttributeInfo} interface.
* <br>
* @param obj the object to be compared for equality with this {@code OpenMBeanAttributeInfo} instance;
*
* @return {@code true} if the specified object is equal to this {@code OpenMBeanAttributeInfo} 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} instance.
* <p>
* The hash code of an {@code OpenMBeanAttributeInfo} instance is the sum of the hash codes
* of all elements of information used in {@code equals} 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)} implies that {@code t1.hashCode()==t2.hashCode()}
* for any two {@code OpenMBeanAttributeInfo} instances {@code t1} and {@code t2},
* as required by the general contract of the method
* {@link Object#hashCode() Object.hashCode()}.
*
* @return the hash code value for this {@code OpenMBeanAttributeInfo} 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} instance.
* <p>
* The string representation consists of the name of this class
* (ie {@code 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.
*
* @return a string representation of this {@code OpenMBeanAttributeInfo} instance
*/
public String toString();
// methods specific to open MBeans are inherited from
// OpenMBeanParameterInfo
//
}