Package org.jibx.binding.model

Examples of org.jibx.binding.model.BindingHolder


        if (args.length > 0 && parms.processArgs(args)) {
           
            // generate bindings for all classes
            BindGen gen = new BindGen(parms.getGlobal());
            gen.generate(parms.getAbstract(), parms.getExtraArgs());
            BindingHolder root = gen.finish(parms.getBindingName());
            List bindings = gen.validateFiles(parms.getGeneratePath(), parms.getLocator(), root);
            if (!parms.isBindingOnly()) {
               
                // generate schemas for all bindings
                SchemaGen sgen = new SchemaGen(parms.getLocator(), parms.getGlobal(), parms.getUriNames());
View Full Code Here


                    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);
                    s_logger.debug("Added definition class " + clas.getFullName());
View Full Code Here

                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);
            }
        }
        return defs;
View Full Code Here

           
            // build the binding component for this definition
            ClassHolder clas = (ClassHolder)definition.getGenerateClass();
            OpenAttrBase comp = definition.getSchemaComponent();
            SchemaElement schema = comp.getSchema();
            BindingHolder holder = m_bindingDirectory.getRequiredBinding(schema);
            if (definition.isEnumeration()) {
               
                // construct format and add to binding
                FormatElement format = new FormatElement();
                format.setTypeName(clas.getBindingName());
                format.setQName(definition.getQName());
                ((EnumerationClassHolder)clas).setBinding(format);
                m_bindingDirectory.addFormat(format);
               
            } else {
               
                // construct mapping element
                MappingElementBase mapping = new MappingElement();
                mapping.setClassName(clas.getBindingName());
                if (comp.type() == SchemaBase.ELEMENT_TYPE) {
                   
                    // abstract or concrete mapping for element
                    ElementElement element = (ElementElement)comp;
                    setName(element.getEffectiveQName(), mapping, holder);
                    mapping.setAbstract(element.isAbstract());
                    QName group = element.getSubstitutionGroup();
                    if (group != null) {
                        ElementElement base = m_validationContext.findElement(group);
                        DefinitionItem basedef = ((GlobalExtension)base.getExtension()).getDefinition();
                        mapping.setExtendsName(basedef.getGenerateClass().getFullName());
                    }
                   
                } else {
                   
                    // abstract mapping for type definition or group
                    mapping.setAbstract(true);
                    QName qname = definition.getQName();
                    mapping.setTypeQName(qname);
                    String uri = qname.getUri();
                    if (uri != null) {
                        m_bindingDirectory.addTypeNameReference(holder, uri, schema);
                    }
                   
                }
               
                // add the mapping to binding and set on class
                holder.addMapping(mapping);
                ((StructureClassHolder)clas).setBinding(mapping);
                DefinitionItem elementdef = (DefinitionItem)typeinst.get(definition);
                if (elementdef != null) {
                   
                    // create mapping for element name linked to type
                    ElementElement element = (ElementElement)elementdef.getSchemaComponent();
                    SchemaElement elschema = element.getSchema();
                    MappingElementBase elmapping = new MappingElement();
                    elmapping.setClassName(clas.getBindingName());
                    elmapping.setAbstract(element.isAbstract());
                   
                    // handle linking to substitution group head using extends mapping
                    QName group = element.getSubstitutionGroup();
                    if (group != null) {
                        ElementElement base = m_validationContext.findElement(group);
                        DefinitionItem basedef = ((GlobalExtension)base.getExtension()).getDefinition();
                        elmapping.setExtendsName(basedef.getGenerateClass().getFullName());
                    }
                   
                    // create single structure child invoking the type mapping
                    holder = m_bindingDirectory.getRequiredBinding(elschema);
                    setName(element.getEffectiveQName(), elmapping, holder);
                    StructureElement struct = new StructureElement();
                    QName qname = mapping.getTypeQName();
                    String uri = qname.getUri();
                    if (uri != null) {
                        m_bindingDirectory.addTypeNameReference(holder, uri, schema);
                    }
                    struct.setMapAsQName(qname);
                    elmapping.addChild(struct);
                    holder.addMapping(elmapping);
                   
                }
            }
           
            // set the definition for the class (and create any required secondary classes)
View Full Code Here

            // check binding handling for schema
            SchemaElement schema = (SchemaElement)iter.next();
            SchemaExtension exten = (SchemaExtension)schema.getExtension();
            String uri = schema.getEffectiveNamespace();
            String prefix = exten.getPrefix();
            BindingHolder holder;
            String name = exten.getBindingFileName();
            boolean dflt = schema.isElementQualifiedDefault() || uri == null;
            if (name != null) {
               
                // specific binding name, create the binding or link to existing
                holder = (BindingHolder)namebindings.get(name);
                if (holder == null) {
                    holder = m_bindingDirectory.getBinding(schema);
                    if (holder == null) {
                        holder = m_bindingDirectory.addBinding(schema, uri, prefix, dflt);
                    }
                    holder.setFileName(name);
                    namebindings.put(name, holder);
                } else {
                    m_bindingDirectory.addBindingObject(schema, holder);
                }
               
View Full Code Here

            Map<QName, Object> formats = new HashMap<QName, Object>();
            BindingUtils.getDefinitions(codegen.getRootBinding(), types, elements, formats);
           
            Iterator it = codegen.getBindingOrganizer().iterateBindings();
            while (it.hasNext()) {
                BindingHolder o = (BindingHolder)it.next();
                if (o != null) {
                    getDefinitions(o, types, elements);
                }
            }
View Full Code Here

            Map<QName, Object> formats = new HashMap<QName, Object>();
            BindingUtils.getDefinitions(codegen.getRootBinding(), types, elements, formats);
           
            Iterator<?> it = codegen.getBindingOrganizer().iterateBindings();
            while (it.hasNext()) {
                BindingHolder o = (BindingHolder)it.next();
                if (o != null) {
                    getDefinitions(o, types, elements);
                }
            }
View Full Code Here

            BindingUtils.getDefinitions(codegen.getRootBinding(), types, elements, null);
           
            Iterator it = codegen.getBindingOrganizer().iterateBindings();
            while (it.hasNext()) {
                BindingHolder o = (BindingHolder)it.next();
                getDefinitions(o, types, elements);
            }

        } catch (Exception e) {
            problemHandler.handleSevere("", e);
View Full Code Here

TOP

Related Classes of org.jibx.binding.model.BindingHolder

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.