Package org.jboss.xb.binding.sunday.unmarshalling

Examples of org.jboss.xb.binding.sunday.unmarshalling.WildcardBinding


      // bind
      SchemaBinding schema = XsdBinder.bind(new StringReader(XSD), null);

      // get bound components
      TypeBinding type = schema.getType(new QName("http://org.jboss.ws/jbws434/types", "ArrayOfAny"));
      WildcardBinding wildcard = type.getWildcard();
      ElementBinding e = schema.getElement(new QName("http://org.jboss.ws/jbws434/types", "e"));

      // adjust binding
      ParticleHandler unresolvedElementHandler;
      CharactersHandler unresolvedCharactersHandler;
      if(genericElement)
      {
         unresolvedElementHandler = new GenericElementHandler();
         unresolvedCharactersHandler = new GenericCharactersHandler();
      }
      else
      {
         unresolvedElementHandler = DomParticleHandler.INSTANCE;
         unresolvedCharactersHandler = DomCharactersHandler.INSTANCE;
      }

      wildcard.setUnresolvedElementHandler(unresolvedElementHandler);
      wildcard.setUnresolvedCharactersHandler(unresolvedCharactersHandler);
      PropertyMetaData property = new PropertyMetaData();
      property.setName("_any");
      wildcard.setPropertyMetaData(property);

      ClassMetaData clsBinding = new ClassMetaData();
      clsBinding.setImpl(ArrayOfAny.class.getName());
      e.setClassMetaData(clsBinding);
View Full Code Here


      }
      else if(xsTermType == XSConstants.WILDCARD)
      {
         assertTrue("TermBinding expected to be a wildcard but was " + termBinding, termBinding.isWildcard());
         XSWildcard xsWildcard = (XSWildcard) xsTerm;
         WildcardBinding wildcardBinding = (WildcardBinding) termBinding;
         assertEquals("WildcardBinding process content.", xsWildcard.getProcessContents(), wildcardBinding.getProcessContents());
         termStr = "wildcard";
      }
      else
         fail("Unexpected XSTerm type: " + xsTermType);
     
View Full Code Here

               log.trace("Wildcard " + wildcardProperty.getName() + " is a collection of type " + type.getName());
         }

         XmlAnyElement xmlAnyElement = wildcardProperty.getUnderlyingAnnotation(XmlAnyElement.class);
         boolean isLax = xmlAnyElement == null ? true : xmlAnyElement.lax();
         WildcardBinding wildcard = new WildcardBinding(schemaBinding);
         if (isLax)
            wildcard.setProcessContents((short) 3); // Lax
         else
            wildcard.setProcessContents((short) 1); // Strict

         // Dom element?
         if (Element.class.getName().equals(type.getName()))
         {
            wildcard.setUnresolvedElementHandler(DOMHandler.INSTANCE);
            wildcard.setUnresolvedCharactersHandler(DOMHandler.INSTANCE);
         }

         // Bind the particle to the model
         ParticleBinding particleBinding = new ParticleBinding(wildcard);
         particleBinding.setMinOccurs(0);
         particleBinding.setMaxOccurs(1);
         localModel.addParticle(particleBinding);
         typeBinding.getWildcard().setWildcardHandler((ParticleHandler) wildcardHandler);
         beanAdapterFactory.setWildcardHandler(wildcardHandler);
      }

      JBossXmlChildWildcard childWildcard = typeInfo.getUnderlyingAnnotation(JBossXmlChildWildcard.class);
      if (childWildcard != null)
      {
         if (beanAdapterFactory.getWildcardHandler() != null)
            throw new RuntimeException("Cannot have both @JBossXmlChildWildcard and @XmlAnyElement");

         ParticleHandler childWildcardHandler = null;
         if (typeInfo.isCollection())
         {
            if (childWildcard.wrapper() != Object.class)
            {
               BeanInfo wrapperInfo = JBossXBBuilder.configuration.getBeanInfo(childWildcard.wrapper());
               childWildcardHandler = new ChildCollectionWildcardHandler(wrapperInfo, childWildcard.property());
            }
            else
               childWildcardHandler = ChildCollectionWildcardHandler.SINGLETON;
         }
         else
            throw new UnsupportedOperationException("TODO");

         WildcardBinding wildcard = new WildcardBinding(schemaBinding);
         if (childWildcard.lax())
            wildcard.setProcessContents((short) 3); // Lax
         else
            wildcard.setProcessContents((short) 1); // Strict

         ParticleBinding particleBinding = new ParticleBinding(wildcard);
         particleBinding.setMinOccurs(0);
         particleBinding.setMaxOccurs(1);
         model.addParticle(particleBinding);
View Full Code Here

                        groupWildcardHandler = new ChildWildcardHandler(property, wrapperInfo, groupWildcard.property());
                     }
                     else
                        groupWildcardHandler = new ChildWildcardHandler(property);

                     WildcardBinding wildcard = new WildcardBinding(schemaBinding);
                     if (groupWildcard.lax())
                        wildcard.setProcessContents((short) 3); // Lax
                     else
                        wildcard.setProcessContents((short) 1); // Strict

                     particleBinding = new ParticleBinding(wildcard);
                     particleBinding.setMinOccurs(0);
                     particleBinding.setMaxOccurs(1);
                     childModel.addParticle(particleBinding);
View Full Code Here

      bindingType.setHandler(BindingHandler.HANDLER);
      BeanSchemaBindingHelper.configureValueBindings(bindingType);
      // binding can take characters
      bindingType.setSimpleType(BindingCharactersHandler.HANDLER);
      // type has wildcard
      WildcardBinding wcb = bindingType.getWildcard();
      if (wcb == null)
         throw new IllegalStateException("Missing wildcard binding for type: " + bindingType.getQName());
      wcb.setWildcardHandler(BindingWildcardHandler.WILDCARD);
   }
View Full Code Here

      // type has a this
      typeBinding.pushInterceptor(BeanSchemaBinding20.thisQName, ThisValueElementInterceptor.THISVALUES);
     
      // type has wildcard
      WildcardBinding wcb = typeBinding.getWildcard();
      if (wcb == null)
         throw new IllegalStateException("Missing wildcard binding for type: " + typeBinding.getQName());
      wcb.setWildcardHandler(ValueWildcardHandler.WILDCARD);
   }
View Full Code Here

      // bind
      SchemaBinding schema = XsdBinder.bind(new StringReader(XSD), null);

      // get bound components
      TypeBinding type = schema.getType(new QName("http://org.jboss.ws/jbws434/types", "ArrayOfAny"));
      WildcardBinding wildcard = type.getWildcard();
      ElementBinding e = schema.getElement(new QName("http://org.jboss.ws/jbws434/types", "e"));

      // adjust binding
      ParticleHandler unresolvedElementHandler;
      CharactersHandler unresolvedCharactersHandler;
      if(genericElement)
      {
         unresolvedElementHandler = new GenericElementHandler();
         unresolvedCharactersHandler = new GenericCharactersHandler();
      }
      else
      {
         unresolvedElementHandler = new DomElementHandler();
         unresolvedCharactersHandler = new DomCharactersHandler();
      }

      wildcard.setUnresolvedElementHandler(unresolvedElementHandler);
      wildcard.setUnresolvedCharactersHandler(unresolvedCharactersHandler);
      PropertyMetaData property = new PropertyMetaData();
      property.setName("_any");
      wildcard.setPropertyMetaData(property);

      ClassMetaData clsBinding = new ClassMetaData();
      clsBinding.setImpl(ArrayOfAny.class.getName());
      e.setClassMetaData(clsBinding);
View Full Code Here

      {
         prop = new PropertyMetaData();
         prop.setName("_any");
      }

      WildcardBinding wildcard = typeBinding.getWildcard();
      wildcard.setUnresolvedElementHandler(new SoapElementHandler());
      wildcard.setUnresolvedCharactersHandler(new SoapCharactersHandler());
      wildcard.setPropertyMetaData(prop);

      if (log.isTraceEnabled())
         log.trace("Bound wildcard of " + typeBinding.getQName() + " to property " + prop.getName());
   }
View Full Code Here

               setMapEntryValue(mapEntryMetaData, parent, owner);
            }
         }

         // the wildcard this element is a content of
         WildcardBinding wildcard = null;
         if(parentTerm != null && !parentTerm.isModelGroup())
         {
            ElementBinding parentElement = (ElementBinding)parentTerm;
            TypeBinding parentType = parentElement.getType();
            wildcard = parentType.getWildcard();
            // there should be a better way of checking this
            if(wildcard != null && parentType.getElement(qName) != null)
            {
               wildcard = null;
            }
         }

         if(tryPut(owner, o, qName, term, trace))
         {
         }
         else if(tryAdd(owner, o, qName, term, wildcard, trace))
         {
         }
         else if (owner instanceof GenericValueContainer)
         {
            if (trace)
            {
               log.trace("setParent " + qName + " addChild");
            }
            ((GenericValueContainer) owner).addChild(qName, o);
         }
         else if (owner instanceof Collection)
         {
            if (trace)
            {
               log.trace("setParent " + qName + " collection.add()");
            }
            ((Collection) owner).add(o);
         }
         else
         {
            PropertyMetaData propertyMetaData = wildcard == null ? null : wildcard.getPropertyMetaData();
            if (propertyMetaData == null)
            {
               propertyMetaData = term.getPropertyMetaData();
            }
View Full Code Here

      {
         prop = new PropertyMetaData();
         prop.setName("_any");
      }

      WildcardBinding wildcard = typeBinding.getWildcard();
      wildcard.setUnresolvedElementHandler(new SoapElementHandler());
      wildcard.setUnresolvedCharactersHandler(new SoapCharactersHandler());
      wildcard.setPropertyMetaData(prop);

      if (log.isTraceEnabled())
         log.trace("Bound wildcard of " + typeBinding.getQName() + " to property " + prop.getName());
   }
View Full Code Here

TOP

Related Classes of org.jboss.xb.binding.sunday.unmarshalling.WildcardBinding

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.