Get the shared unmarshaller for this context.
NOTE: Since this is shared, always synchronize on this object.
@param bindingName The JiBX binding name (defaults to 'binding')
@return
322210
public IUnmarshallingContext getUnmarshaller(String packageName, String bindingName) throws JiBXException
    {
        JIBXContextHolder jAXBContextHolder = this.get(packageName, bindingName);
        if (jAXBContextHolder == null)
            return null;    // Never
        return jAXBContextHolder.getUnmarshaller();
    }
592862
public static lbmonbindings_binding get(nitro_service service, String monitorname) throws Exception{
		lbmonbindings_binding obj = new lbmonbindings_binding();
		obj.set_monitorname(monitorname);
		lbmonbindings_binding response = (lbmonbindings_binding) obj.get_resource(service);
		return response;
	}
847424
public Object unmarshal(HierarchicalStreamReader reader,
			UnmarshallingContext context) {
		XEventImpl event = new XEventImpl();

		String id = reader.getAttribute("xid");
		event.setID(XID.parse(id));

		if (reader.hasMoreChildren()) {
			reader.moveDown();
			XAttributeMap attributes = (XAttributeMap) context.convertAnother(
					event, XAttributeMap.class,  XesXStreamPersistency.attributeMapConverter);
			event.setAttributes(attributes);
			reader.moveUp();
		}
		return event;
	}
701369
@SuppressWarnings("unchecked")
	public final Object bind(ConfigurationPropertyName name, Bindable<?> target,
			AggregateElementBinder elementBinder) {
		Object result = bindAggregate(name, target, elementBinder);
		Supplier<?> value = target.getValue();
		if (result == null || value == null) {
			return result;
		}
		return merge((Supplier<T>) value, (T) result);
	}
719206
@Override
	public Response getApplicationBindings( String applicationName ) {

		Response response;
		ManagedApplication ma = this.manager.applicationMngr().findManagedApplicationByName( applicationName );
		if( ma == null ) {
			response = handleError(
					Status.NOT_FOUND,
					new RestError( REST_INEXISTING, application( applicationName )),
					lang( this.manager )).build();

		} else {
			ApplicationBindings bindings = new ApplicationBindings();

			// Find all the external prefixes to resolve
			for( Component c : ComponentHelpers.findAllComponents( ma.getApplication())) {
				for( ImportedVariable var : ComponentHelpers.findAllImportedVariables( c ).values()) {
					if( ! var.isExternal())
						continue;

					String prefix = VariableHelpers.parseVariableName( var.getName()).getKey();
					bindings.prefixToItems.put( prefix, new ArrayList<ApplicationBindingItem> ());
				}
			}

			// Find all the applications that match a given prefix
			for( ManagedApplication managedApp : this.manager.applicationMngr().getManagedApplications()) {

				// Any potential bindings with this application?
				// There should be AT MOST 1 matching template for a given prefix.
				// One template means there can be several applications.
				String prefix = managedApp.getApplication().getTemplate().getExternalExportsPrefix();
				if( prefix == null || ! bindings.prefixToItems.containsKey( prefix ))
					continue;

				// There is a potential match. Is there an effective bound?
				Set<String> boundApps = ma.getApplication().getApplicationBindings().get( prefix );
				boolean bound = boundApps != null && boundApps.contains( managedApp.getName());
				ApplicationBindingItem item = new ApplicationBindingItem( managedApp.getName(), bound );
				bindings.prefixToItems.get( prefix ).add( item );
			}

			response = Response.ok().entity( bindings ).build();
		}

		return response;
	}
375582
public DataBinder load(String filename) throws IOException {
        Properties props = new Properties();
        Reader reader = new FileReader(filename);
        props.load(reader);
        reader.close();
        return load(props);
    }
471775
public static Provider<String> getPropertyProvider(Binder binder, String propertyName) {
        return binder.getProvider(getPropertyKey(propertyName));
    }
415968
public javax.faces.component.UIComponent getBinding() {
		return (javax.faces.component.UIComponent) getStateHelper().eval(PropertyKeys.binding);
	}
1299020
public Object unmarshal(HierarchicalStreamReader reader,
			UnmarshallingContext context) {
		XAttributeMap map = null;
		// restore correct type of attribute map, i.e., check for buffered
		// implementation, and correctly restore lazy implementation if
		// this had been used for serialization.
		boolean lazy = reader.getAttribute("lazy").equals("true");
		boolean buffered = reader.getAttribute("buffered").equals("true");
		if (lazy) {
			if (buffered) {
				map = new XAttributeMapLazyImpl<XAttributeMapBufferedImpl>(
						XAttributeMapBufferedImpl.class);
			} else {
				map = new XAttributeMapLazyImpl<XAttributeMapImpl>(
						XAttributeMapImpl.class);
			}
		} else if (buffered) {
			map = new XAttributeMapBufferedImpl();
		} else {
			map = new XAttributeMapImpl();
		}
		while (reader.hasMoreChildren()) {
			reader.moveDown();
			XAttribute attribute = (XAttribute) context.convertAnother(map,
					XAttribute.class, XesXStreamPersistency.attributeConverter);
			map.put(attribute.getKey(), attribute);
			reader.moveUp();
		}
		return map;
	}
952670
public SocketBinding socketBinding(String name) {
        return this.socketBindings.stream().filter(e -> e.name().equals(name)).findFirst().orElse(null);
    }
665483
public Unmarshaller getUnmarshaller(String soapPackage) throws JAXBException
    {
        JAXBContextHolder jAXBContextHolder = this.get(soapPackage);
        if (jAXBContextHolder == null)
            return null;    // Never
        return jAXBContextHolder.getUnmarshaller();
    }
712120
public static gslbsite_gslbservice_binding[] get(nitro_service service, String sitename) throws Exception{
		gslbsite_gslbservice_binding obj = new gslbsite_gslbservice_binding();
		obj.set_sitename(sitename);
		gslbsite_gslbservice_binding response[] = (gslbsite_gslbservice_binding[]) obj.get_resources(service);
		return response;
	}
922386
public static gslbvserver_domain_binding[] get(nitro_service service, String name) throws Exception{
		gslbvserver_domain_binding obj = new gslbvserver_domain_binding();
		obj.set_name(name);
		gslbvserver_domain_binding response[] = (gslbvserver_domain_binding[]) obj.get_resources(service);
		return response;
	}
1253596
public BindingInfo bindingInfo(String socketBindingName) {
		SocketBinding sb = socketBinding(socketBindingName);
		if (sb == null) {
			throw new IllegalArgumentException("Can't find socket binding with name \"" + socketBindingName + "\"");
		}
		Interface iface = interfaceRef(sb.getInterfaceRef());
		if (iface == null) {
			throw new IllegalArgumentException("Can't find interface with name \"" + sb.getInterfaceRef() + "\"");
		}
		BindingInfo result = new BindingInfo(sb.getPort());
		for (Interface.InetAddress address : iface.getAddresses()) {
			result.getAddresses().add(address.getIp());
		}

		return result;
	}
199359
protected Binder findBinderByPropertyName(Class parentObjectType, String propertyName) {
        PropertyNameKey key = new PropertyNameKey(parentObjectType, propertyName);
        Binder binder = (Binder)propertyNameBinders.get(key);
        if (binder == null) {
            // if no direct match was found try to find a match in any super classes
            final Map potentialMatchingBinders = new HashMap();
            for (Iterator i = propertyNameBinders.entrySet().iterator(); i.hasNext();) {
                Map.Entry entry = (Map.Entry)i.next();
                if (((PropertyNameKey)entry.getKey()).getPropertyName().equals(propertyName)) {
                    potentialMatchingBinders.put(((PropertyNameKey)entry.getKey()).getParentObjectType(),
                            entry.getValue());
                }
            }
            binder = (Binder) ClassUtils.getValueFromMapForClass(parentObjectType, potentialMatchingBinders);
            if (binder != null) {
                // remember the lookup so it doesn't have to be discovered again
                registerBinderForPropertyName(parentObjectType, propertyName, binder);
            }
        }
        return binder;
    }
812933
public static cachepolicylabel_policybinding_binding[] get(nitro_service service, String labelname) throws Exception{
		cachepolicylabel_policybinding_binding obj = new cachepolicylabel_policybinding_binding();
		obj.set_labelname(labelname);
		cachepolicylabel_policybinding_binding response[] = (cachepolicylabel_policybinding_binding[]) obj.get_resources(service);
		return response;
	}
520093
public Node getDOM()
    {
        Object root = m_message.getRawData();
        try {
            String packageName = (String)((TrxMessageHeader)this.getMessage().getMessageHeader()).get(SOAPMessageTransport.JIBX_PACKAGE_NAME);
            String bindingName = (String)((TrxMessageHeader)this.getMessage().getMessageHeader()).get(SOAPMessageTransport.JIBX_BINDING_NAME);
            if (bindingName == null)
            {
            	packageName = root.getClass().getName();
            	packageName = packageName.substring(0, packageName.lastIndexOf('.'));
            	((TrxMessageHeader)this.getMessage().getMessageHeader()).put(SOAPMessageTransport.JIBX_PACKAGE_NAME, packageName);
            }

            Node node = null;            
//            DocumentBuilder db = Util.getDocumentBuilder();
            Document doc = null;            
            
            IMarshallingContext mctx = JibxContexts.getJIBXContexts().getMarshaller(packageName, bindingName);
            if (mctx == null)
                return null;
            synchronized(mctx)
            {   // Since the marshaller is shared (may want to tweek this for multi-cpu implementations)
//?            	DomElementMapper domElementMapper  = new DomElementMapper();
//?            	m.marshalDocument(domElementMapper);
//?            	domElementMapper.marshal(root, m);
//?                IBindingFactory bfact = BindingDirectory.getFactory(clazz);
//?                IMarshallingContext mctx = bfact.createMarshallingContext();
                
            	String[] namespaces = JibxContexts.getJIBXContexts().get(packageName, bindingName).getFactory().getNamespaces();
                JDOMWriter jdomWriter = new JDOMWriter(namespaces);
                mctx.setXmlWriter(jdomWriter);
                mctx.marshalDocument(root);
                mctx.endDocument();
                
                org.jdom.Document jdoc = jdomWriter.getDocument();
                
                DOMOutputter dout = new DOMOutputter();
                doc = dout.output(jdoc);
            }
            node = doc.getDocumentElement();

            if (node != null)
                return node;
        } catch (JiBXException ex)   {
            ex.printStackTrace();
        } catch (java.lang.IllegalArgumentException ex)   {
            ex.printStackTrace();
        } catch (JDOMException e) {
			e.printStackTrace();
		}
        return super.getDOM();
    }