public static DescriptorSupport mbeanDescriptor( final boolean immutable, final Class<?> intf, final boolean singleton, final boolean globalSingleton, final String group, final boolean supportsAdoption, final String[] subTypes) { final DescriptorSupport desc = new DescriptorSupport(); if (intf == null || !intf.isInterface()) { throw new IllegalArgumentException("interface class must be an interface"); } desc.setField(DESC_STD_IMMUTABLE_INFO, immutable); desc.setField(DESC_STD_INTERFACE_NAME, intf.getName()); desc.setField(DESC_IS_SINGLETON, singleton); desc.setField(DESC_IS_GLOBAL_SINGLETON, globalSingleton); desc.setField(DESC_GROUP, group); desc.setField(DESC_SUPPORTS_ADOPTION, supportsAdoption); if (subTypes != null) { desc.setField(DESC_SUB_TYPES, subTypes); } return desc; } }
public static DescriptorSupport descriptor(final Element e) { final DescriptorSupport d = new DescriptorSupport(); d.setField(DESC_KIND, Element.class.getName()); d.setField(DESC_KEY, e.key()); d.setField(DESC_REQUIRED, e.required()); d.setField(DESC_REFERENCE, e.reference()); d.setField(DESC_VARIABLE_EXPANSION, e.variableExpansion()); return d; }
public static DescriptorSupport descriptor(final DuckTyped dt) { final DescriptorSupport d = new DescriptorSupport(); d.setField(DESC_KIND, DuckTyped.class.getName()); return d; }
private DescriptorSupport descriptor() { final DescriptorSupport d = new DescriptorSupport(); String amxInterfaceName = AMXConfigProxy.class.getName(); // generic default final String intfPackage = mIntf.getPackage().getName(); if (Domain.class.getPackage().getName().equals(intfPackage)) { amxInterfaceName = mIntf.getName(); } d.setField(DESC_STD_INTERFACE_NAME, amxInterfaceName); d.setField(DESC_GENERIC_INTERFACE_NAME, AMXConfigProxy.class.getName()); d.setField(DESC_STD_IMMUTABLE_INFO, true); d.setField(DESC_GROUP, "config"); // Adoption is not supported, only other config elements d.setField(DESC_SUPPORTS_ADOPTION, false); d.setField(DESC_IS_SINGLETON, isSingleton()); final String[] subTypes = CollectionUtil.toArray(childTypes().keySet(), String.class); d.setField(DESC_SUB_TYPES, subTypes); return d; }
public static DescriptorSupport descriptor(final AttributeMethodInfo info) { final DescriptorSupport d = new DescriptorSupport(); final Attribute a = info.attribute(); d.setField(DESC_KIND, Attribute.class.getName()); if (!a.defaultValue().equals("\u0000")) { d.setField(DESC_DEFAULT_VALUE, a.defaultValue()); } d.setField(DESC_KEY, a.key()); d.setField(DESC_REQUIRED, a.required()); d.setField(DESC_REFERENCE, a.reference()); d.setField(DESC_VARIABLE_EXPANSION, a.variableExpansion()); d.setField(DESC_DATA_TYPE, info.inferDataType().getName()); return d; }
protected Descriptor[] buildInterceptors(Element descriptor) { List interceptors = descriptor.elements("interceptor"); ArrayList tmp = new ArrayList(); for(int i = 0; i < interceptors.size(); i ++) { Element interceptor = (Element) interceptors.get(i); String code = interceptor.attributeValue("code"); DescriptorSupport interceptorDescr = new DescriptorSupport(); interceptorDescr.setField("code", code); List attributes = interceptor.attributes(); for(int a = 0; a < attributes.size(); a ++) { Attribute attr = (Attribute) attributes.get(a); String name = attr.getName(); String value = attr.getValue(); value = StringPropertyReplacer.replaceProperties(value); interceptorDescr.setField(name, value); } tmp.add(interceptorDescr); } Descriptor[] descriptors = new Descriptor[tmp.size()]; tmp.toArray(descriptors); return descriptors; }
if("name".equals(localName)) support.setField(XMBeanConstants.NAME, value); support.setField(XMBeanConstants.PERSIST_POLICY, persistPolicy); support.setField(XMBeanConstants.PERSIST_PERIOD, persistPeriod); support.setField(XMBeanConstants.PERSIST_LOCATION, persistLocation); support.setField(XMBeanConstants.PERSIST_NAME, persistName); support.setField(XMBeanConstants.CURRENCY_TIME_LIMIT, value); support.setField(XMBeanConstants.DEFAULT, value); support.setField(XMBeanConstants.DISPLAY_NAME, value); support.setField(XMBeanConstants.CACHED_VALUE, value); support.setField(XMBeanConstants.PERSISTENCE_MANAGER, value); support.setField(desc.getName(), desc.getValue()); support.setField(desc.getName(), desc.getValue()); support.setField(XMBeanConstants.INTERCEPTORS, ivalue);
protected Descriptor[] buildInterceptors(Element descriptor) { List interceptors = descriptor.elements("interceptor"); ArrayList tmp = new ArrayList(); for(int i = 0; i < interceptors.size(); i ++) { Element interceptor = (Element) interceptors.get(i); String code = interceptor.attributeValue("code"); DescriptorSupport interceptorDescr = new DescriptorSupport(); interceptorDescr.setField("code", code); List attributes = interceptor.attributes(); for(int a = 0; a < attributes.size(); a ++) { Attribute attr = (Attribute) attributes.get(a); String name = attr.getName(); String value = attr.getValue(); value = StringPropertyReplacer.replaceProperties(value); interceptorDescr.setField(name, value); } tmp.add(interceptorDescr); } Descriptor[] descriptors = new Descriptor[tmp.size()]; tmp.toArray(descriptors); return descriptors; }
if("name".equals(localName)) support.setField(XMBeanConstants.NAME, value); support.setField(XMBeanConstants.PERSIST_POLICY, persistPolicy); support.setField(XMBeanConstants.PERSIST_PERIOD, persistPeriod); support.setField(XMBeanConstants.PERSIST_LOCATION, persistLocation); support.setField(XMBeanConstants.PERSIST_NAME, persistName); support.setField(XMBeanConstants.CURRENCY_TIME_LIMIT, value); support.setField(XMBeanConstants.DEFAULT, value); support.setField(XMBeanConstants.DISPLAY_NAME, value); support.setField(XMBeanConstants.CACHED_VALUE, value); support.setField(XMBeanConstants.PERSISTENCE_MANAGER, value); support.setField(desc.getName(), desc.getValue()); support.setField(desc.getName(), desc.getValue()); support.setField(XMBeanConstants.INTERCEPTORS, ivalue);
descDefaultDomain.setField("name", "DefaultDomain"); descDefaultDomain.setField("descriptorType", "attribute"); descDefaultDomain.setField("displayName", "Default Domain"); descDefaultDomain.setField("currencyTimeLimit", "-1"); ModelMBeanAttributeInfo defaultDomainInfo = new ModelMBeanAttributeInfo descSize.setField("name", "Size"); descSize.setField("descriptorType", "attribute"); descSize.setField("displayName", "Size"); descSize.setField("getMethod", "getSize"); ModelMBeanAttributeInfo sizeInfo = new ModelMBeanAttributeInfo descRegisterMBean.setField("name", "registerMBean"); descRegisterMBean.setField("descriptorType", "operation"); descRegisterMBean.setField("role", "operation"); MBeanParameterInfo[] registerMBeanParms = new MBeanParameterInfo[] descUnregisterMBean.setField("name", "unregisterMBean"); descUnregisterMBean.setField("descriptorType", "operation"); descUnregisterMBean.setField("role", "operation"); MBeanParameterInfo[] unregisterMBeanParms = new MBeanParameterInfo[] descGetSize.setField("name", "getSize"); descGetSize.setField("descriptorType", "operation"); descGetSize.setField("role", "getter"); MBeanParameterInfo[] getSizeParms = new MBeanParameterInfo[0]; ModelMBeanOperationInfo getSizeInfo = new ModelMBeanOperationInfo descGetValue.setField("name", "getValue");
descDefaultDomain.setField("name", "DefaultDomain"); descDefaultDomain.setField("descriptorType", "attribute"); descDefaultDomain.setField("displayName", "Default Domain"); descDefaultDomain.setField("default", getDefaultDomain()); descDefaultDomain.setField("currencyTimeLimit", "-1"); ModelMBeanAttributeInfo defaultDomainInfo = new ModelMBeanAttributeInfo descSize.setField("name", "Size"); descSize.setField("descriptorType", "attribute"); descSize.setField("displayName", "Size"); descSize.setField("getMethod", "getSize"); ModelMBeanAttributeInfo sizeInfo = new ModelMBeanAttributeInfo descRegisterMBean.setField("name", "registerMBean"); descRegisterMBean.setField("descriptorType", "operation"); descRegisterMBean.setField("role", "operation"); MBeanParameterInfo[] registerMBeanParms = new MBeanParameterInfo[] descUnregisterMBean.setField("name", "unregisterMBean"); descUnregisterMBean.setField("descriptorType", "operation"); descUnregisterMBean.setField("role", "operation"); MBeanParameterInfo[] unregisterMBeanParms = new MBeanParameterInfo[] descGetSize.setField("name", "getSize"); descGetSize.setField("descriptorType", "operation");
descDefaultDomain.setField("name", "DefaultDomain"); descDefaultDomain.setField("descriptorType", "attribute"); descDefaultDomain.setField("displayName", "Default Domain"); descDefaultDomain.setField("default", getDefaultDomain()); descDefaultDomain.setField("currencyTimeLimit", "-1"); ModelMBeanAttributeInfo defaultDomainInfo = new ModelMBeanAttributeInfo descSize.setField("name", "Size"); descSize.setField("descriptorType", "attribute"); descSize.setField("displayName", "Size"); descSize.setField("getMethod", "getSize"); ModelMBeanAttributeInfo sizeInfo = new ModelMBeanAttributeInfo descRegisterMBean.setField("name", "registerMBean"); descRegisterMBean.setField("descriptorType", "operation"); descRegisterMBean.setField("role", "operation"); MBeanParameterInfo[] registerMBeanParms = new MBeanParameterInfo[] descUnregisterMBean.setField("name", "unregisterMBean"); descUnregisterMBean.setField("descriptorType", "operation"); descUnregisterMBean.setField("role", "operation"); MBeanParameterInfo[] unregisterMBeanParms = new MBeanParameterInfo[] descGetSize.setField("name", "getSize"); descGetSize.setField("descriptorType", "operation");
/** Merge two descriptors. Values in 'src' override values in 'dest', but neither is modified, a new one is returned. */ public static DescriptorSupport mergeDescriptors( final Descriptor src, final Descriptor dest) { final DescriptorSupport d = new DescriptorSupport(); // do it manually, the APIs screw up booleans making the "(true)" instead of "true". String[] fieldNames = dest.getFieldNames(); for (final String fieldName : fieldNames) { d.setField(fieldName, dest.getFieldValue(fieldName)); } // now overwrite conflicting fields with those from 'src' fieldNames = src.getFieldNames(); for (final String fieldName : fieldNames) { d.setField(fieldName, src.getFieldValue(fieldName)); } return d; }
/** Merge two descriptors. Values in 'src' override values in 'dest', but neither is modified, a new one is returned. */ public static DescriptorSupport mergeDescriptors( final Descriptor src, final Descriptor dest) { final DescriptorSupport d = new DescriptorSupport(); // do it manually, the APIs screw up booleans making the "(true)" instead of "true". String[] fieldNames = dest.getFieldNames(); for (final String fieldName : fieldNames) { d.setField(fieldName, dest.getFieldValue(fieldName)); } // now overwrite conflicting fields with those from 'src' fieldNames = src.getFieldNames(); for (final String fieldName : fieldNames) { d.setField(fieldName, src.getFieldValue(fieldName)); } return d; }