325N/A * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. 325N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 325N/A * This code is free software; you can redistribute it and/or modify it 325N/A * under the terms of the GNU General Public License version 2 only, as 325N/A * published by the Free Software Foundation. Oracle designates this 325N/A * particular file as subject to the "Classpath" exception as provided 325N/A * by Oracle in the LICENSE file that accompanied this code. 325N/A * This code is distributed in the hope that it will be useful, but WITHOUT 325N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 325N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 325N/A * version 2 for more details (a copy is included in the LICENSE file that 325N/A * accompanied this code). 325N/A * You should have received a copy of the GNU General Public License version 325N/A * 2 along with this work; if not, write to the Free Software Foundation, 325N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 325N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 325N/A * or visit www.oracle.com if you need additional information or have any 325N/A * Root of the object model that represents the code that needs to be generated. 325N/A * A {@link Model} is a schema language neutral representation of the 325N/A * result of a schema parsing. The back-end then works against this model 325N/A * to turn this into a series of Java source code. 325N/A * @author Kohsuke Kawaguchi 325N/A * The element mappings. 325N/A * {@link TypeUse}s for all named types. 325N/A * I really don't want to promote the notion of a 'type' in any place except in the XML Schema code, 325N/A * but this needs to be exposed for JAX-RPC. A reference to a named XML type will be converted into 325N/A * a reference to a Java type with annotations. 325N/A * {@link NameConverter} to be used. 325N/A * Single linked list that connects all {@link CCustomizations} that belong to this model. 325N/A * @see CCustomizations#next 325N/A * This field controls the generation of package level annotations for s2j 325N/A * If this model was built from XML Schema, this field 325N/A * stores the root object of the parse schema model. 325N/A * Usually this should be set in the constructor, but we do allow this parameter 325N/A * to be initially null, and then set later. 325N/A * @param schemaComponent 325N/A * The source schema model, if this is built from XSD. 325N/A * Gets the name converter that shall be used to parse XML names into Java names. 325N/A * This model uses this code model exclusively. 325N/A * Command-line options used for building this model. 325N/A * True to generate serializable classes. 325N/A * serial version UID to be generated. 325N/A * null if not to generate serialVersionUID field. 325N/A * If non-null, all the generated classes should eventually derive from this class. 325N/A * If non-null, all the generated interfaces should eventually derive from this interface. 325N/A * Specifies the code generation strategy. 325N/A * This allocator has the final say on deciding the class name. 325N/A * Model classes are responsible for using the allocator. 325N/A * reference to a symbol space is assumed to use this default 325N/A /** All the defined {@link SymbolSpace}s keyed by their name. */ 325N/A * Fully-generate the source code into the given model. 325N/A * null if there was any errors. Otherwise it returns a valid 325N/A * {@link Outline} object, which captures how the model objects 325N/A * are mapped to the generated source code. 325N/A * Add-ons can use those information to further augment the generated 325N/A // run extensions // moved to BGMBuilder._build() - issue with hyperjaxb3 325N/A// for( Plugin ma : opt.activePlugins ) 325N/A// ma.postProcessModel(this,ehf); 325N/A // fatal error. error should have been reported 325N/A // check for unused plug-in customizations. 325N/A // these can be only checked after the plug-ins run, so it's here. 325N/A // the JAXB bindings are checked by XMLSchema's builder. 325N/A * Represents the "top-level binding". 325N/A * This is used to support the use of a schema inside WSDL. 325N/A * For XML Schema, the top-level binding is a map from 325N/A * global element declarations to its representation class. 325N/A * For other schema languages, it should follow the appendicies in 325N/A * WSDL (but in practice no one would use WSDL with a schema language 325N/A * other than XML Schema, so it doesn't really matter.) 325N/A * This needs to be filled by the front-end. 325N/A // TODO: handle XmlValueList 325N/A * No array mapping generation for XJC. 325N/A * Always return null. Perhaps you are interested in {@link #schemaComponent}? 325N/A * No line number available for the "root" component. 325N/A * Gets the global customizations. 325N/A * Not implemented in the compile-time model.