1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197
/* * @(#)OpenMBeanParameterInfo.java 3.25 05/11/17 * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ package javax.management.openmbean; // java import // import java.util.Set; import java.lang.Comparable; // to be substituted for jdk1.1.x // jmx import // /** * <p>Describes a parameter used in one or more operations or * constructors of an open MBean.</p> * * <p>This interface declares the same methods as the class {@link * javax.management.MBeanParameterInfo}. A class implementing this * interface (typically {@link OpenMBeanParameterInfoSupport}) should * extend {@link javax.management.MBeanParameterInfo}.</p> * * @version 3.25 05/11/17 * @author Sun Microsystems, Inc. * * @since 1.5 * @since.unbundled JMX 1.1 */ public interface OpenMBeanParameterInfo { // Re-declares methods that are in class MBeanParameterInfo of JMX 1.0 // (these will be removed when MBeanParameterInfo is made a parent interface of this interface) /** * Returns a human readable description of the parameter * described by this <tt>OpenMBeanParameterInfo</tt> instance. * * @return the description. */ public String getDescription() ; /** * Returns the name of the parameter * described by this <tt>OpenMBeanParameterInfo</tt> instance. * * @return the name. */ public String getName() ; // Now declares methods that are specific to open MBeans // /** * Returns the <i>open type</i> of the values of the parameter * described by this <tt>OpenMBeanParameterInfo</tt> instance. * * @return the open type. */ public OpenType<?> getOpenType() ; /** * Returns the default value for this parameter, if it has one, or * <tt>null</tt> otherwise. * * @return the default value. */ public Object getDefaultValue() ; /** * Returns the set of legal values for this parameter, if it has * one, or <tt>null</tt> otherwise. * * @return the set of legal values. */ public Set<?> getLegalValues() ; /** * Returns the minimal value for this parameter, if it has one, or * <tt>null</tt> otherwise. * * @return the minimum value. */ public Comparable<?> getMinValue() ; /** * Returns the maximal value for this parameter, if it has one, or * <tt>null</tt> otherwise. * * @return the maximum value. */ public Comparable<?> getMaxValue() ; /** * Returns <tt>true</tt> if this parameter has a specified default * value, or <tt>false</tt> otherwise. * * @return true if there is a default value. */ public boolean hasDefaultValue() ; /** * Returns <tt>true</tt> if this parameter has a specified set of * legal values, or <tt>false</tt> otherwise. * * @return true if there is a set of legal values. */ public boolean hasLegalValues() ; /** * Returns <tt>true</tt> if this parameter has a specified minimal * value, or <tt>false</tt> otherwise. * * @return true if there is a minimum value. */ public boolean hasMinValue() ; /** * Returns <tt>true</tt> if this parameter has a specified maximal * value, or <tt>false</tt> otherwise. * * @return true if there is a maximum value. */ public boolean hasMaxValue() ; /** * Tests whether <var>obj</var> is a valid value for the parameter * described by this <code>OpenMBeanParameterInfo</code> instance. * * @param obj the object to be tested. * * @return <code>true</code> if <var>obj</var> is a valid value * for the parameter described by this * <code>OpenMBeanParameterInfo</code> instance, * <code>false</code> otherwise. */ public boolean isValue(Object obj) ; /** * Compares the specified <var>obj</var> parameter with this <code>OpenMBeanParameterInfo</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>OpenMBeanParameterInfo</code> interface,</li> * <li>their names are equal</li> * <li>their open types 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>OpenMBeanParameterInfo</code> interface. * <br> * @param obj the object to be compared for equality with this <code>OpenMBeanParameterInfo</code> instance; * * @return <code>true</code> if the specified object is equal to this <code>OpenMBeanParameterInfo</code> instance. */ public boolean equals(Object obj); /** * Returns the hash code value for this <code>OpenMBeanParameterInfo</code> instance. * <p> * The hash code of an <code>OpenMBeanParameterInfo</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>OpenMBeanParameterInfo</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>OpenMBeanParameterInfo</code> instance */ public int hashCode(); /** * Returns a string representation of this <code>OpenMBeanParameterInfo</code> instance. * <p> * The string representation consists of the name of this class (ie <code>javax.management.openmbean.OpenMBeanParameterInfo</code>), * the string representation of the name and open type of the described parameter, * and the string representation of its default, min, max and legal values. * * @return a string representation of this <code>OpenMBeanParameterInfo</code> instance */ public String toString(); }