User: stacycurl
  Date: 01/04/10 13:44:25

  Added:       src/main/org/jbossmx/util ObjectNameMetaData.java
                        MetaDataServiceMBean.java MetaDataService.java
  Log:
  The MetaDataService MBean allows you to associate a 'ObjectNameMetaData'
  object to each ObjectName.
  
  The ObjectNameMetaData object simply contains a hashmap.
  
  Revision  Changes    Path
  1.1                  jbossmx/src/main/org/jbossmx/util/ObjectNameMetaData.java
  
  Index: ObjectNameMetaData.java
  ===================================================================
  package org.jbossmx.util;
  
  import java.util.HashMap;
  import java.util.Iterator;
  import java.util.Map;
  
  import javax.management.MalformedObjectNameException;
  import javax.management.ObjectName;
  
  public class ObjectNameMetaData
  {
      private ObjectNameMetaData() {}
  
      public ObjectNameMetaData(String objectName)
          throws MalformedObjectNameException
      {
          this(new ObjectName(objectName));
      }
  
      public ObjectNameMetaData(ObjectName objectName)
      {
          m_objectName = objectName;
          m_metaData = new HashMap();
      }
  
      public ObjectName getObjectName()
      {
          return m_objectName;
      }
  
      public Object getMetaData(Object key)
      {
          return m_metaData.get(key);
      }
  
      public void setMetaData(Object key, Object value)
      {
          System.out.println("ObjectNameMetaData.setMetaData(key = " + key + ", value 
= " + value + ")");
          m_metaData.put(key, value);
      }
  
      public String toString()
      {
          StringBuffer sb = new StringBuffer();
          sb.append("ObjectNameMetaData(" + m_objectName + ")\n");
  
          for (Iterator iterator = m_metaData.entrySet().iterator(); 
iterator.hasNext();)
          {
              final Map.Entry entry = (Map.Entry) iterator.next();
              sb.append("key = " + entry.getKey() + ", value = " + entry.getValue() + 
"\n");
          }
  
          return sb.toString();
      }
  
      private ObjectName m_objectName;
      private Map m_metaData;
  }
  
  
  
  1.1                  jbossmx/src/main/org/jbossmx/util/MetaDataServiceMBean.java
  
  Index: MetaDataServiceMBean.java
  ===================================================================
  package org.jbossmx.util;
  
  import javax.management.ObjectName;
  
  public interface MetaDataServiceMBean
  {
    // Constants
    public static final String OBJECT_NAME = "UtilDomain:name=MetaDataService";
  
    public ObjectNameMetaData getMetaData(ObjectName objectName);
    public void setMetaData(ObjectNameMetaData objectNameMetaData);
  
    public String listMetaData();
  }
  
  
  
  1.1                  jbossmx/src/main/org/jbossmx/util/MetaDataService.java
  
  Index: MetaDataService.java
  ===================================================================
  package org.jbossmx.util;
  
  import java.util.HashMap;
  import java.util.Iterator;
  import java.util.Map;
  
  import javax.management.ObjectName;
  
  public class MetaDataService implements MetaDataServiceMBean
  {
    public MetaDataService()
    {
      m_metaData = new HashMap();
    }
  
    public ObjectNameMetaData getMetaData(ObjectName objectName)
    {
      return (ObjectNameMetaData) m_metaData.get(objectName);
    }
  
    public void setMetaData(ObjectNameMetaData objectNameMetaData)
    {
      m_metaData.put(objectNameMetaData.getObjectName(), objectNameMetaData);
    }
  
    public String listMetaData()
    {
      StringBuffer sb = new StringBuffer();
  
      for (Iterator iterator = m_metaData.values().iterator(); iterator.hasNext();)
      {
          ObjectNameMetaData objectNameMetaData =
              (ObjectNameMetaData) iterator.next();
  
          sb.append(objectNameMetaData.toString());
      }
  
      return sb.toString();
    }
  
  
    private Map m_metaData;
  }
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to