User: juhalindfors
Date: 02/03/20 07:09:19
Modified: src/main/javax/management/modelmbean Tag: BranchMX_1_0
DescriptorSupport.java
Log:
toString() impl.
Revision Changes Path
No revision
No revision
1.4.2.1 +47 -5 jmx/src/main/javax/management/modelmbean/DescriptorSupport.java
Index: DescriptorSupport.java
===================================================================
RCS file:
/cvsroot/jboss/jmx/src/main/javax/management/modelmbean/DescriptorSupport.java,v
retrieving revision 1.4
retrieving revision 1.4.2.1
diff -u -r1.4 -r1.4.2.1
--- DescriptorSupport.java 8 Mar 2002 15:32:03 -0000 1.4
+++ DescriptorSupport.java 20 Mar 2002 15:09:18 -0000 1.4.2.1
@@ -24,7 +24,14 @@
* @see javax.management.Descriptor
*
* @author <a href="mailto:[EMAIL PROTECTED]">Juha Lindfors</a>.
- * @version $Revision: 1.4 $
+ * @version $Revision: 1.4.2.1 $
+ *
+ * <p><b>Revisions:</b>
+ *
+ * <p><b>20020320 Juha Lindfors:</b>
+ * <ul>
+ * <li>toString() implementation</li>
+ * </ul>
*/
public class DescriptorSupport
implements Descriptor, Cloneable, Serializable
@@ -86,10 +93,28 @@
this.setFields(descriptor.getFieldNames(),
descriptor.getFieldValues(descriptor.getFieldNames()));
}
-
+ /**
+ * Creates descriptor instance with given field names and values.if both field
names and field
+ * values array contain a <tt>null</tt> reference or empty arrays, an empty
descriptor is created.
+ * None of the name entries in the field names array can be a <tt>null</tt>
reference.
+ * Field values may contain <tt>null</tt> references.
+ *
+ * @param fieldNames Contains names for the descriptor fields. This array
cannot contain
+ * <tt>null</tt> references. If both <tt>fieldNames</tt>
and <tt>fieldValues</tt>
+ * arguments contain <tt>null</tt> or empty array
references then an empty descriptor
+ * is created. The size of the <tt>fieldNames</tt> array
must match the size of
+ * the <tt>fieldValues</tt> array.
+ * @param fieldValues Contains values for the descriptor fields. Null
references are allowed.
+ *
+ * @throws RuntimeOperationsException if array sizes don't match
+ */
public DescriptorSupport(String[] fieldNames, Object[] fieldValues) throws
RuntimeOperationsException
{
- setFields(fieldNames, fieldValues);
+ if (fieldNames == null && fieldValues == null)
+ return;
+
+ // FIXME: javadoc for setFields throws exception on null values as well
+ setFields(fieldNames, fieldValues);
}
public DescriptorSupport(String[] fields)
@@ -200,8 +225,25 @@
// Object overrides ----------------------------------------------
public String toString()
{
- // FIXME: human readable string
- return super.toString();
+ String[] names = getFieldNames();
+ Object[] values = getFieldValues(names);
+
+ if (names.length == 0)
+ return "<empty descriptor>";
+
+ StringBuffer sbuf = new StringBuffer(500);
+
+ for (int i = 0; i < values.length; ++i)
+ {
+ sbuf.append(names[i]);
+ sbuf.append("=");
+ sbuf.append(values[i]);
+ sbuf.append(",");
+ }
+
+ sbuf.deleteCharAt(sbuf.length() - 1);
+
+ return sbuf.toString();
}
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development