1 22 23 package org.jboss.mx.metadata.xb; 24 25 import java.util.ArrayList ; 26 import javax.xml.namespace.QName ; 27 import javax.management.modelmbean.ModelMBeanConstructorInfo ; 28 import javax.management.MBeanParameterInfo ; 29 import javax.management.Descriptor ; 30 31 import org.jboss.xb.binding.GenericValueContainer; 32 import org.jboss.logging.Logger; 33 import org.jboss.mx.modelmbean.ModelMBeanConstants; 34 35 40 public class ModelMBeanConstructorInfoContainer 41 implements GenericValueContainer 42 { 43 private static final Logger log = Logger.getLogger(ModelMBeanConstructorInfoContainer.class); 44 private String name; 45 private String description; 46 private ArrayList params = new ArrayList (); 47 private Descriptor descriptor; 48 49 public Descriptor getDescriptors() 50 { 51 return descriptor; 52 } 53 public void setDescriptors(Descriptor descriptor) 54 { 55 this.descriptor = descriptor; 56 } 57 58 public void addParameter(MBeanParameterInfo param) 59 { 60 params.add(param); 61 } 62 63 public Object instantiate() 64 { 65 MBeanParameterInfo [] sig = new MBeanParameterInfo [params.size()]; 66 params.toArray(sig); 67 if( descriptor != null ) 68 { 69 if( descriptor.getFieldValue(ModelMBeanConstants.NAME) == null ) 70 descriptor.setField(ModelMBeanConstants.NAME, ModelMBeanConstructorInfo .class.getName()); 71 if( descriptor.getFieldValue(ModelMBeanConstants.DESCRIPTOR_TYPE) == null ) 72 descriptor.setField(ModelMBeanConstants.DESCRIPTOR_TYPE, ModelMBeanConstants.CONSTRUCTOR_DESCRIPTOR); 73 } 74 ModelMBeanConstructorInfo ctor = new ModelMBeanConstructorInfo (name, 75 description, sig, descriptor); 76 return ctor; 77 } 78 public void addChild(QName name, Object value) 79 { 80 log.debug("addChild, " + name + "," + value); 81 if("name".equals(name.getLocalPart())) 82 { 83 this.name = (String ) value; 84 } 85 if("description".equals(name.getLocalPart())) 86 { 87 this.description = (String ) value; 88 } 89 } 90 public Class getTargetClass() 91 { 92 return ModelMBeanConstructorInfo .class; 93 } 94 95 } 96 | Popular Tags |