⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 grammarinfoimpl.java

📁 这是一个基于计算网格的web service。它用java编写。一旦安装完成
💻 JAVA
字号:
//// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.4-b18-fcs // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> // Any modifications to this file will be lost upon recompilation of the source schema. // Generated on: 2005.07.17 at 02:33:01 EDT //package jwsgrid.xsd.schedqueryresult.impl.runtime;import java.io.InputStream;import java.io.ObjectInputStream;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.Map;import javax.xml.bind.JAXBException;import javax.xml.namespace.QName;import com.sun.xml.bind.Messages;/** * Keeps the information about the grammar as a whole. *  * This object is immutable and thread-safe. * * @author *  <a href="mailto:kohsuke.kawaguchi@sun.com">Kohsuke KAWAGUCHI</a> */public class GrammarInfoImpl implements GrammarInfo{    /**     * Map from {@link QName}s (root tag names) to {@link Class}es of the     * content interface that should be instanciated.     */    private final Map rootTagMap;        /**     * Enclosing ObjectFactory class. Used to load resources.     */    private final Class objectFactoryClass;        /**     * Map from {@link Class}es that represent content interfaces     * to {@link String}s that represent names of the corresponding     * implementation classes.     */    private final Map defaultImplementationMap;        /**     * ClassLoader that should be used to load impl classes.     */    private final ClassLoader classLoader;        public GrammarInfoImpl( Map _rootTagMap, Map _defaultImplementationMap, Class _objectFactoryClass ) {        this.rootTagMap = _rootTagMap;        this.defaultImplementationMap = _defaultImplementationMap;        this.objectFactoryClass = _objectFactoryClass;        // the assumption is that the content interfaces and their impls        // are loaded from the same class loader.         this.classLoader = objectFactoryClass.getClassLoader();     }        /**     * @return the name of the content interface that is registered with     * the specified element name.     */    private final Class lookupRootMap( String nsUri, String localName ) {        // note that the value of rootTagMap could be null.        QName qn;                qn = new QName(nsUri,localName);        if(rootTagMap.containsKey(qn))    return (Class)rootTagMap.get(qn);        qn = new QName(nsUri,"*");        if(rootTagMap.containsKey(qn))    return (Class)rootTagMap.get(qn);        qn = new QName("*","*");        return (Class)rootTagMap.get(qn);    }        public final Class getRootElement(String namespaceUri, String localName) {        Class intfCls = lookupRootMap(namespaceUri,localName);        if(intfCls==null)    return null;        else                return getDefaultImplementation(intfCls);    }    public final UnmarshallingEventHandler createUnmarshaller(        String namespaceUri, String localName, UnmarshallingContext context ) {                Class impl = getRootElement(namespaceUri,localName);        if(impl==null)        return null;                try {            return ((UnmarshallableObject)impl.newInstance()).createUnmarshaller(context);        } catch (InstantiationException e) {            throw new InstantiationError(e.toString());        } catch (IllegalAccessException e) {            throw new IllegalAccessError(e.toString());        }    }        public final String[] getProbePoints() {        List r = new ArrayList();        for (Iterator itr = rootTagMap.keySet().iterator(); itr.hasNext();) {            QName qn = (QName) itr.next();            r.add(qn.getNamespaceURI());            r.add(qn.getLocalPart());        }        return (String[]) r.toArray(new String[r.size()]);    }        public final boolean recognize( String nsUri, String localName ) {        return lookupRootMap(nsUri,localName)!=null;    }        public final Class getDefaultImplementation( Class javaContentInterface ) {        try {            // by caching the obtained Class objects.            return Class.forName((String)defaultImplementationMap.get(javaContentInterface), true, classLoader );        } catch (ClassNotFoundException e) {            throw new NoClassDefFoundError(e.toString());        }    }    /**     * Gets the MSV AGM which can be used to validate XML during     * marshalling/unmarshalling.     */    public final com.sun.msv.grammar.Grammar getGrammar() throws JAXBException {        try {            InputStream is = objectFactoryClass.getResourceAsStream("bgm.ser");                        if( is==null ) {                // unable to find bgm.ser                String name = objectFactoryClass.getName();                int idx = name.lastIndexOf('.');                name = '/'+name.substring(0,idx+1).replace('.','/')+"bgm.ser";                throw new JAXBException(                    Messages.format( Messages.NO_BGM, name ) );            }                        // deserialize the bgm            ObjectInputStream ois = new ObjectInputStream( is );            com.sun.xml.bind.GrammarImpl g = (com.sun.xml.bind.GrammarImpl)ois.readObject();            ois.close();                        g.connect(new com.sun.msv.grammar.Grammar[]{g});    // connect to itself                        return g;        } catch( Exception e ) {            throw new JAXBException(                 Messages.format( Messages.UNABLE_TO_READ_BGM ),                 e );        }    }        /**     * @see com.sun.tools.xjc.runtime.GrammarInfo#castToXMLSerializable(java.lang.Object)     */    public XMLSerializable castToXMLSerializable(Object o) {        if( o instanceof XMLSerializable ) {             return (XMLSerializable)o;        } else {            return null;        }    }        /**     * @see com.sun.tools.xjc.runtime.GrammarInfo#castToValidatableObject(java.lang.Object)     */    public ValidatableObject castToValidatableObject(Object o) {        if( o instanceof ValidatableObject ) {             return (ValidatableObject)o;        } else {            return null;        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -