[jboss-dev-forums] [Design of POJO Server] - Re: MetaValue representation of javax.management.ObjectNames

scott.stark@jboss.org do-not-reply at jboss.com
Tue Dec 2 02:40:32 EST 2008


There is a testcase in managed that illustrates the MetaMapper(ObjectName) implementations that were added:


  | import javax.management.ObjectName;
  | 
  | import org.jboss.managed.api.annotation.ManagementObject;
  | import org.jboss.managed.api.annotation.ManagementProperty;
  | import org.jboss.metatype.api.annotations.MetaMapping;
  | import org.jboss.metatype.api.annotations.MetaMappingFactory;
  | import org.jboss.metatype.plugins.values.mappers.ObjectNameMetaMapper;
  | import org.jboss.metatype.plugins.values.mappers.ObjectNameMetaMapperFactory;
  | import org.jboss.metatype.plugins.values.mappers.PropertiesObjectNameMetaMapper;
  | import org.jboss.metatype.plugins.values.mappers.StringObjectNameMetaMapper;
  | 
  | @ManagementObject
  | public class ObjectNameBean
  | {
  |    private ObjectName nameAsString;
  |    private ObjectName nameAsComposite;
  |    private ObjectName nameAsCompositeFixedKeys;
  |    private ObjectName nameAsProperties;
  | 
  |    @ManagementProperty()
  |    @MetaMapping(StringObjectNameMetaMapper.class)
  |    public ObjectName getNameAsString()
  |    {
  |       return nameAsString;
  |    }
  |    public void setNameAsString(ObjectName nameAsString)
  |    {
  |       this.nameAsString = nameAsString;
  |    }
  | 
  |    @ManagementProperty()
  |    @MetaMapping(ObjectNameMetaMapper.class)
  |    public ObjectName getNameAsComposite()
  |    {
  |       return nameAsComposite;
  |    }
  |    public void setNameAsComposite(ObjectName nameAsComposite)
  |    {
  |       this.nameAsComposite = nameAsComposite;
  |    }
  | 
  |    @ManagementProperty()
  |    @MetaMapping(PropertiesObjectNameMetaMapper.class)
  |    public ObjectName getNameAsProperties()
  |    {
  |       return nameAsProperties;
  |    }
  |    public void setNameAsProperties(ObjectName nameAsProperties)
  |    {
  |       this.nameAsProperties = nameAsProperties;
  |    }
  |    @ManagementProperty()
  |    @MetaMappingFactory(value=ObjectNameMetaMapperFactory.class, args={"key1", "The first key", "key2", "The second key"})
  |    public ObjectName getNameAsCompositeFixedKeys()
  |    {
  |       return nameAsCompositeFixedKeys;
  |    }
  |    public void setNameAsCompositeFixedKeys(ObjectName nameAsCompositeFixedKeys)
  |    {
  |       this.nameAsCompositeFixedKeys = nameAsCompositeFixedKeys;
  |    }   
  | }
  | 

ObjectNameMetaMapper - exposes the ObjectName as a MutableCompositeMetaType
PropertiesObjectNameMetaMapper - expose the ObjectName as a PropertiesMetaType
StringObjectNameMetaMapper - exposes the ObjectName as a SimpleMetaType.STRING

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4193659#4193659

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4193659



More information about the jboss-dev-forums mailing list