1 22 23 package org.jboss.mx.metadata.xb; 24 25 import javax.management.modelmbean.DescriptorSupport ; 26 import javax.xml.namespace.QName ; 27 28 import org.jboss.xb.binding.GenericValueContainer; 29 import org.jboss.logging.Logger; 30 import org.jboss.mx.modelmbean.XMBeanConstants; 31 import org.jboss.mx.interceptor.Interceptor; 32 33 37 public class DescriptorSupportContainer 38 implements GenericValueContainer 39 { 40 private static final Logger log = Logger.getLogger(DescriptorSupportContainer.class); 41 DescriptorSupport support = new DescriptorSupport (); 42 43 public Object instantiate() 44 { 45 return support; 46 } 47 48 public void addChild(QName name, Object value) 49 { 50 log.debug("addChild, " + name + "," + value); 51 String localName = name.getLocalPart(); 52 if("name".equals(localName)) 53 { 54 support.setField(XMBeanConstants.NAME, value); 55 } 56 else if (name.equals("persistence")) 57 { 58 PersistPolicy policy = (PersistPolicy) value; 59 String persistPolicy = policy.getPersistPolicy(); 60 String persistPeriod = policy.getPersistPeriod(); 61 String persistLocation = policy.getPersistLocation(); 62 String persistName = policy.getPersistName(); 63 if (persistPolicy != null) 64 { 65 support.setField(XMBeanConstants.PERSIST_POLICY, persistPolicy); 67 } 68 if (persistPeriod != null) 69 { 70 support.setField(XMBeanConstants.PERSIST_PERIOD, persistPeriod); 71 } 72 if (persistLocation != null) 73 { 74 support.setField(XMBeanConstants.PERSIST_LOCATION, persistLocation); 75 } 76 if (persistName != null) 77 { 78 support.setField(XMBeanConstants.PERSIST_NAME, persistName); 79 } 80 } 81 else if (name.equals(XMBeanConstants.CURRENCY_TIME_LIMIT)) 82 { 83 support.setField(XMBeanConstants.CURRENCY_TIME_LIMIT, value); 84 } 85 else if (name.equals(XMBeanConstants.DEFAULT)) 86 { 87 support.setField(XMBeanConstants.DEFAULT, value); 88 } 89 else if (name.equals("display-name")) 90 { 91 support.setField(XMBeanConstants.DISPLAY_NAME, value); 92 } 93 else if (name.equals(XMBeanConstants.CACHED_VALUE)) 94 { 95 support.setField(XMBeanConstants.CACHED_VALUE, value); 96 } 97 else if (name.equals(XMBeanConstants.PERSISTENCE_MANAGER)) 98 { 99 support.setField(XMBeanConstants.PERSISTENCE_MANAGER, value); 100 } 101 else if (name.equals(XMBeanConstants.DESCRIPTOR)) 102 { 103 Holder desc = (Holder) value; 104 support.setField(desc.getName(), desc.getValue()); 105 } 106 else if (name.equals("injection")) 107 { 108 Holder desc = (Holder) value; 109 support.setField(desc.getName(), desc.getValue()); 110 } 111 else if("interceptors".equals(localName)) 112 { 113 InterceptorsHolder holder = (InterceptorsHolder) value; 114 118 Interceptor[] ivalue = holder.getInterceptors(); 119 support.setField(XMBeanConstants.INTERCEPTORS, ivalue); 120 } 121 } 122 123 public Class getTargetClass() 124 { 125 return DescriptorSupport .class; 126 } 127 128 } 129 | Popular Tags |