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

Reply via email to