Package org.jibx.schema.codegen.custom

Examples of org.jibx.schema.codegen.custom.GlobalExtension


                boolean instmod = false;
                for (int i = 0; i < count; i++) {
                    SchemaBase child = schema.getChild(i);
                    Object obj = child.getExtension();
                    if (obj instanceof GlobalExtension) {
                        GlobalExtension global = (GlobalExtension)obj;
                        global.normalize();
                        if (global.isRemoved()) {
                           
                            // just eliminate this definition from the schema
                            schema.detachChild(i);
                            instmod = true;
                           
View Full Code Here


                boolean instmod = false;
                for (int i = 0; i < count; i++) {
                    SchemaBase child = schema.getChild(i);
                    Object obj = child.getExtension();
                    if (obj instanceof GlobalExtension) {
                        GlobalExtension global = (GlobalExtension)obj;
                        global.normalize();
                        if (global.isRemoved() ||
                            (!global.isIncluded() && global.isPreferInline() && global.getOverrideType() != null)) {
                           
                            // just eliminate this definition from the schema
                            schema.detachChild(i);
                            instmod = true;
                           
View Full Code Here

                    def.setChecked(true);
                    OpenAttrBase ancestor = group.getSchemaComponent();
                    while (!ancestor.isGlobal()) {
                        ancestor = ancestor.getParent();
                    }
                    GlobalExtension global = (GlobalExtension)ancestor.getExtension();
                    PackageHolder pack = global.getPackage();
                    String clasname = def.getClassName();
                    NameConverter nconv = global.getNameConverter();
                    boolean useinner = global.isUseInnerClasses();
                    ClassDecorator[] decorators = global.getClassDecorators();
                    BindingHolder holder = m_bindingDirectory.getRequiredBinding(def.getSchemaComponent().getSchema());
                    ClassHolder clas = pack.addClass(clasname, nconv, decorators, useinner,
                        childgrp.isEnumeration(), holder);
                    def.setGenerateClass(clas);
                    defs.add(def);
View Full Code Here

           
            // inline references where appropriate, and count the values defined
            int count = computeComplexity(def, depth, defs);
           
            // determine the representation based on customizations or complexity
            GlobalExtension exten = (GlobalExtension)def.getComponentExtension();
            if (exten.isInlined()) {
                if (def.isInlineBlocked()) {
                    s_logger.error("Cannot inline " + SchemaUtils.describeComponent(def.getSchemaComponent()) + " because of use as collection value, type for global element, or other usage");
                } else {
                    def.setInline(true);
                }
            } else if (!exten.isSeparateClass() && !def.isInlineBlocked() && (exten.isPushInline() || count == 0 ||
                (count == 1 && isSimple(def)) || (exten.isPreferInline() && def.getReferenceCount() == 1))) {
                if (def.isReferenced()) {
                    s_logger.debug(SchemaUtils.getIndentation(depth) + "blocking inlining of self-referencing definition " +
                         SchemaUtils.describeComponent(def.getSchemaComponent()));
                } else {
                   
View Full Code Here

            for (int i = 0; i < count; i++) {
                SchemaBase child = schema.getChild(i);
                if (child.getExtension() instanceof GlobalExtension) {
                   
                    // create the definition
                    GlobalExtension global = (GlobalExtension)child.getExtension();
                    DefinitionItem definition = global.getDefinition();
                    if (definition == null) {
                        definition = itembuilder.buildGlobal((AnnotatedBase)child);
                        if (s_logger.isInfoEnabled()) {
                            s_logger.info("Constructed item structure for " + SchemaUtils.describeComponent(child)
                                + ":\n" + definition.describe());
                        }
                    } else if (s_logger.isInfoEnabled()) {
                        s_logger.info("Found existing item structure for " + SchemaUtils.describeComponent(child)
                            + ":\n" + definition.describe());
                    }
                    items.add(definition);
                   
                    // set the names on the definition so they'll be available for inlining
                    NameConverter nconv = global.getNameConverter();
                    String dfltname = nconv.toBaseName(((INamed)child).getName());
                    if (!definition.isFixedName()) {
                        String name = global.getBaseName();
                        if (name == null) {
                            name = NameUtils.toNameLead(dfltname);
                        }
                        definition.setName(name);
                    }
                    if (!definition.isFixedClassName()) {
                        String name = global.getClassName();
                        if (name == null) {
                            name = global.getNameConverter().toJavaClassName(dfltname);
                        }
                        definition.setClassName(name);
                    }
                   
                    // force class generation if required
                    if (global.isIncluded()) {
                        definition.setInlineBlocked(true);
                        if (s_logger.isDebugEnabled()) {
                            s_logger.debug("Forcing class generation for " + SchemaUtils.describeComponent(child));
                        }
                    }
View Full Code Here

            DefinitionItem def = (DefinitionItem)items.get(i);
            checkInline(def, 1, defs);
           
            // add definition to list if not inlined or pregenerated or type-isomorphic
            if (!def.isInline() && !def.hasDirectGenerateClass() && !def.isTypeIsomorphic()) {
                GlobalExtension global = (GlobalExtension)def.getComponentExtension();
                defs.add(def);
                PackageHolder pack = global.getPackage();
                String cname = def.getClassName();
                NameConverter nconv = global.getNameConverter();
                ClassDecorator[] decorators = global.getClassDecorators();
                boolean userinner = global.isUseInnerClasses();
                BindingHolder holder = m_bindingDirectory.getRequiredBinding(def.getSchemaComponent().getSchema());
                ClassHolder clas = pack.addClass(cname, nconv, decorators, userinner, def.isEnumeration(), holder);
                def.setGenerateClass(clas);
            }
        }
View Full Code Here

TOP

Related Classes of org.jibx.schema.codegen.custom.GlobalExtension

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.