public void readImportDescriptor( InputStream input ) throws IOException, SAXException { readImportDescriptor( _xmlContext.getParser(), new InputSource( input ) ); }
private void init() { if (_internalContext != null) { _javaNaming = _internalContext.getJavaNaming(); _xmlNaming = _internalContext.getXMLNaming(); setPrimitiveNodeType(_internalContext.getPrimitiveNodeType()); _wrapCollectionsInContainer = _internalContext .getBooleanProperty(XMLProperties.WRAP_COLLECTIONS_PROPERTY).booleanValue(); _saveMapKeys = _internalContext.getBooleanProperty(XMLProperties.SAVE_MAP_KEYS).booleanValue(); } } // -- init
/** * Returns the ClassDescriptorResolver to use during validation. * * @return the ClassDescriptorResolver to use. May be null. */ public XMLClassDescriptorResolver getClassDescriptorResolver() { return _internalContext.getXMLClassDescriptorResolver(); }
/** * {@inheritDoc} The InternalContext itself is not stored! But all values of interest are read and * stored in local attributes. */ public void setInternalContext(final InternalContext internalContext) { _mappingLoader = internalContext.getMappingLoader(); _classLoader = internalContext.getClassLoader(); _useIntrospector = internalContext.getUseIntrospector(); _loadPackageMappings = internalContext.getLoadPackageMapping(); _introspector = internalContext.getIntrospector(); _resolverStrategy = internalContext.getResolverStrategy(); }
/** * Derive class-level properties from {@link XMLProperties} as defined {@link InternalContext}. * This method will be called after a new {@link InternalContext} or a property has been set. * * @link #setInternalContext(InternalContext) */ private void deriveProperties() { _validate = getInternalContext().marshallingValidation(); _saveMapKeys = getInternalContext().getBooleanProperty(XMLProperties.SAVE_MAP_KEYS).booleanValue(); String prop = getInternalContext().getStringProperty(XMLProperties.PROXY_INTERFACES); if (prop != null) { StringTokenizer tokenizer = new StringTokenizer(prop, ", "); while (tokenizer.hasMoreTokens()) { _proxyInterfaces.add(tokenizer.nextToken()); } } }
_validate = _internalContext.marshallingValidation(); _ignoreExtraElements = (!_internalContext.strictElements()); _internalContext.getStringProperty(XMLConfiguration.NAMESPACE_PACKAGE_MAPPINGS); if (mappings != null) { StringTokenizer tokens = new StringTokenizer(mappings, ","); _loader = c.getClassLoader(); _internalContext.setClassLoader(_loader);
|| (getInternalContext().getXMLClassDescriptorResolver() == null)) { String message = "Internal context or class descriptor resolver within are not valid"; LOG.warn(message); getInternalContext().getXMLClassDescriptorResolver().setUseIntrospection(false); getInternalContext().getXMLClassDescriptorResolver().setLoadPackageMappings(false); ClassDescriptor clsDesc = getInternalContext().getXMLClassDescriptorResolver() .resolve(classMapping.getName()); if (clsDesc != null) { xmlName = mapTo.getXml(); } else { String clsName = getInternalContext().getJavaNaming().getClassName(javaClass); xmlName = getInternalContext().getXMLNaming().toXMLName(clsName); || (getInternalContext().getXMLClassDescriptorResolver() == null)) { String message = "Internal context or class descriptor resolver within are not valid"; LOG.warn(message); referenceDesc = (XMLClassDescriptor) getInternalContext().getXMLClassDescriptorResolver() .resolve(type); } catch (ResolverException rx) { Introspector introspector = getInternalContext().getIntrospector(); try { referenceDesc = introspector.generateClassDescriptor(type); getInternalContext().getXMLClassDescriptorResolver().setUseIntrospection(true);
reader = _internalContext.getXMLReader(); if (entityResolver != null) { reader.setEntityResolver(entityResolver); parser = _internalContext.getParser(); if (parser == null) throw new MarshalException("Unable to create SAX Parser.");
/** * Sets a custom {@link ClassLoader} to be used for loading classes. * * @param classLoader A custom {@link ClassLoader}. */ public void setClassLoader(ClassLoader classLoader) { this._internalContext.setClassLoader(classLoader); } }
|| (getInternalContext().getXMLClassDescriptorResolver() == null)) { String message = "Internal context or class descriptor resolver within are not valid"; LOG.warn(message); getInternalContext().getXMLClassDescriptorResolver().setUseIntrospection(false); getInternalContext().getXMLClassDescriptorResolver().setLoadPackageMappings(false); ClassDescriptor clsDesc = getInternalContext() .getXMLClassDescriptorResolver().resolve(clsMap.getName()); if (clsDesc != null) { return clsDesc; } } catch (ResolverException e) { int idx = clsName.lastIndexOf('.'); if (idx >= 0) { clsName = clsName.substring(idx + 1); } xmlName = getInternalContext().getXMLNaming().toXMLName(clsName); || (getInternalContext().getXMLClassDescriptorResolver() == null)) { String message = "Internal context or class descriptor resolver within are not valid"; LOG.warn(message); referenceDesc = (XMLClassDescriptor) getInternalContext().getXMLClassDescriptorResolver().resolve(type); } catch (ResolverException rx) { throw new MappingException(rx); Introspector introspector = getInternalContext().getIntrospector(); try { referenceDesc = introspector.generateClassDescriptor(type);
if (getInternalContext().getXMLClassDescriptorResolver() == null) { if (descriptor != null && isValidating() && !getInternalContext().getLenientSequenceOrder()) { try { classDesc.checkDescriptorForCorrectOrderWithinSequence(descriptor, parentState, name); .getBooleanProperty(XMLConfiguration.LENIENT_INTROSPECTED_ELEMENT_STRICTNESS) .booleanValue(); if (! _strictElements) {
try { if (_forceIntrospection) { xmlClass = _internalContext.getIntrospector().generateClassDescriptor(cls); introspected = true; } else { xmlClass = (XMLClassDescriptor) _internalContext.getXMLClassDescriptorResolver().resolve(cls); introspected = _internalContext.getIntrospector().introspected(xmlClass);
/** * To get the {@link JavaNaming} instance to be used. * * @return the JavaNaming to be used */ public JavaNaming getJavaNaming() { return _internalContext.getJavaNaming(); }
xmlName = ((XMLClassDescriptor) classDesc).getXMLName(); } else { String clsName = _internalContext.getJavaNaming().getClassName(classDesc.getJavaClass()); xmlName = _internalContext.getXMLNaming().toXMLName(clsName);
/** * Adds current ID (as seen during (un)marshalling) to the ID cache. If this * ID was previously added to the Set of unresolved IDs, then remove it from * that Set. * * @param id The current ID * @throws ValidationException If an ID is used more than once. * @see #getUnresolvedIdRefs() */ public void addID(final String id) throws ValidationException { if (!_ids.contains(id)) { _ids.add(id); _unresolvedIdrefs.remove(id); } else if (!_internalContext.getLenientIdValidation()){ throw new ValidationException ("ID " + id + " is already used within current document."); } }
&& !_unmarshalHandler.getInternalContext().getLenientSequenceOrder()) { try { classDesc.checkDescriptorForCorrectOrderWithinSequence(descriptor, parentState, name); .getBooleanProperty(XMLProperties.LENIENT_INTROSPECTED_ELEMENT_STRICTNESS).booleanValue();
/** * {@inheritDoc} */ public ClassDescriptor resolve(final Class type) throws ResolverException { if (type == null) { String message = "Type argument must not be null for resolve"; LOG.warn(message); throw new IllegalArgumentException(message); } if (_descriptorCache.getDescriptor(type.getName()) != null) { return _descriptorCache.getDescriptor(type.getName()); } ClassLoader l = _internalContext.getClassLoader(); if (l == null) { l = type.getClassLoader(); } if (l == null) { l = Thread.currentThread().getContextClassLoader(); } return this.resolve(type.getName(), l); } // -- resolve(Class)
if (Character.isUpperCase(ncChars[0]) && Character.isUpperCase(ncChars[1])) { if (context != null && context.getBooleanProperty(XMLProperties.MEMBER_NAME_CAPITALISATION_STRICT)) { lowercase = true; } else {
/** * To set all strategy properties to the values of the attributes of this instance. * Only exception is the class loader property which is always set in the resolve method. */ private void setAttributesIntoStrategy() { ResolverStrategy strategy = _internalContext.getResolverStrategy(); strategy.setProperty( ResolverStrategy.PROPERTY_LOAD_PACKAGE_MAPPINGS, _internalContext.getLoadPackageMapping()); strategy.setProperty( ResolverStrategy.PROPERTY_USE_INTROSPECTION, _internalContext.getUseIntrospector()); strategy.setProperty( ResolverStrategy.PROPERTY_MAPPING_LOADER, _internalContext.getMappingLoader()); strategy.setProperty( ResolverStrategy.PROPERTY_INTROSPECTOR, _internalContext.getIntrospector()); }
reader = _internalContext.getXMLReader(); if (entityResolver != null) reader.setEntityResolver(entityResolver); parser = _internalContext.getParser(); if (parser == null) throw new MarshalException("Unable to create SAX Parser.");