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

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


   public static void printSimpleType(StringBuilder builder, int pad, TypeBinding type)
   {
      pad(builder, pad);
      builder.append("<simpleType name=\"").append(type.getQName()).append("\"");
      TypeBinding baseTypeBinding = type.getBaseType();
      String qName = null;
      if (baseTypeBinding != null)
         qName = baseTypeBinding.getQName().toString();
      else
         qName = "xsd:anySimpleType";
      builder.append(" base=\"").append(qName).append("\">");
      printTypeInfo(builder, pad+3, type);
      pad(builder, pad);
View Full Code Here


   public static void printComplexType(StringBuilder builder, int pad, TypeBinding type)
   {
      pad(builder, pad);
      builder.append("<complexType name=\"").append(type.getQName()).append("\"");
      TypeBinding baseTypeBinding = type.getBaseType();
      String qName = null;
      if (baseTypeBinding != null)
         qName = baseTypeBinding.getQName().toString();
      else
         qName = "xsd:anyType";
      builder.append(" base=\"").append(qName).append("\">");
      printTypeInfo(builder, pad+3, type);
      pad(builder, pad);
View Full Code Here

   }

   public static void printAttribute(StringBuilder builder, int pad, AttributeBinding attribute)
   {
      pad(builder, pad);
      TypeBinding typeBinding = attribute.getType();
      String qName = null;
      if (typeBinding != null && typeBinding.getQName() != null)
         qName = typeBinding.getQName().toString();
      else
         qName = "CDATA";
      builder.append("<attribute name=\"").append(attribute.getQName().getLocalPart()).append("\"");
      builder.append(" type=\"").append(qName).append("\"");
      if (attribute.getRequired() == false)
View Full Code Here

      {
         return parent;
      }

      Object o = null;
      TypeBinding type = element.getType();
      if(!type.isSimple())
      {
         ClassMetaData classMetaData = element.getClassMetaData();
         MapEntryMetaData mapEntryMetaData = element.getMapEntryMetaData();

         // todo: if addMethod is specified, it's probably some collection field
         // but should not be set as a property. Instead, items are added to it using the addMethod
         if(classMetaData == null && type.isArrayWrapper() && element.getAddMethodMetaData() == null)
         {
            if(parent == null)
            {
               ElementBinding item = type.getArrayItem();
               TypeBinding itemType = item.getType();

               Class itemCls;
               QName itemTypeQName = itemType.getQName();
               if(itemTypeQName != null && Constants.NS_XML_SCHEMA.equals(itemTypeQName.getNamespaceURI()))
               {
                  itemCls = SimpleTypeBindings.classForType(itemType.getQName().getLocalPart());
               }
               else
               {
                  ClassMetaData itemClsMetaData = itemType.getClassMetaData();
                  String itemClsName = itemClsMetaData == null ? null : itemClsMetaData.getImpl();
                  itemCls = getClass(itemClsName, item, type.getArrayItemQName());
               }

               if(itemCls != null)
View Full Code Here

                          QName elementName,
                          ElementBinding element,
                          Attributes attrs,
                          NamespaceContext nsCtx)
   {
      TypeBinding type = element.getType();
      for(int i = 0; i < attrs.getLength(); ++i)
      {
         QName attrName = new QName(attrs.getURI(i), attrs.getLocalName(i));
         AttributeBinding binding = type.getAttribute(attrName);
         if(binding != null)
         {
            AttributeHandler handler = binding.getHandler();
            if(handler != null)
            {
               Object value = handler.unmarshal(elementName, attrName, binding, nsCtx, attrs.getValue(i));
               handler.attribute(elementName, attrName, binding, o, value);
            }
            else
            {
               throw new JBossXBRuntimeException(
                  "Attribute binding present but has no handler: element=" + elementName + ", attrinute=" + attrName
               );
            }
         }
         else
         {
            if(!Constants.NS_XML_SCHEMA_INSTANCE.equals(attrs.getURI(i)))
            {
               CharactersHandler simpleType = type.getSimpleType();
               Object value;
               if(simpleType == null)
               {
                  value = attrs.getValue(i);
                  RtUtil.set(o, attrName, value, element.getSchema().isIgnoreLowLine());
View Full Code Here

      return o;
   }

   private static Class getClass(String className, ElementBinding element, QName elementName)
   {
      TypeBinding type = element.getType();
      String localClassName = className;
      if(localClassName == null)
      {
         QName typeBaseQName = type.getQName();
         if(typeBaseQName == null)
         {
            typeBaseQName = elementName;
         }

         SchemaBinding schemaBinding = type.getSchemaBinding();
         PackageMetaData jaxbPackage = schemaBinding == null ? null : schemaBinding.getPackageMetaData();
         String pkg = jaxbPackage == null ?
            Util.xmlNamespaceToJavaPackage(typeBaseQName.getNamespaceURI()) :
            jaxbPackage.getName();
         localClassName = Util.xmlNameToClassName(typeBaseQName.getLocalPart(), element.getSchema().isIgnoreLowLine());
         if(pkg != null && pkg.length() > 0)
         {
            localClassName = pkg + '.' + localClassName;
         }
      }

      Class cls = null;
      try
      {
         cls = Thread.currentThread().getContextClassLoader().loadClass(localClassName);
      }
      catch(ClassNotFoundException e)
      {
         if(element.getSchema().isIgnoreUnresolvedFieldOrClass())
         {
            if(log.isTraceEnabled())
            {
               log.trace("Failed to resolve class for element " +
                  elementName +
                  " of type " +
                  type.getQName() +
                  ": " +
                  localClassName
               );
            }
         }
         else
         {
            throw new JBossXBRuntimeException("Failed to resolve class name for " +
               elementName +
               " of type " +
               type.getQName() +
               ": " +
               e.getMessage()
            );
         }
      }
View Full Code Here

      if(owner != null) // todo: owner should never be null
      {
         if(owner instanceof MapEntry)
         {
            TypeBinding type = element.getType();
            CharactersMetaData characters = type.getCharactersMetaData();
            if(characters != null)
            {
               if(characters.isMapEntryKey())
               {
                  ((MapEntry)owner).setKey(value);
               }
               else if(characters.isMapEntryValue())
               {
                  ((MapEntry)owner).setValue(value);
               }
               else
               {
                  throw new JBossXBRuntimeException("Parent object is a map entry but characters of element " +
                     qName +
                     " of type " +
                     type.getQName() +
                     " were bound to niether key nor value in a map entry."
                  );
               }
            }
            else
            {
               throw new JBossXBRuntimeException("Parent object is a map entry but characters of element " +
                  qName +
                  " of type " +
                  type.getQName() +
                  " were bound to niether key nor value in a map entry."
               );
            }
         }
         else
         {
            String propName = null;
            String colType = null;
            TypeBinding type = element.getType();
            if(type != null && !type.isSimple()/* && type.hasSimpleContent()*/)
            {
               PropertyMetaData propertyMetaData = type.getPropertyMetaData();
               if(propertyMetaData == null)
               {
                  CharactersMetaData charactersMetaData = type.getCharactersMetaData();
                  propertyMetaData = charactersMetaData == null ? null : charactersMetaData.getProperty();
               }
              
               if(propertyMetaData != null)
               {
View Full Code Here

            builder.append("unbounded");
         else
            builder.append(maxOccurs);
         builder.append("\"");
      }
      TypeBinding type = element.getType();
      if (type != null && type.getQName() != null)
         builder.append(" type=\"").append(type.getQName()).append("\"");
      builder.append(">");
      if (type != null && type.getQName() == null)
         printAnonymousType(builder, pad + 3, type);
      pad(builder, pad);
      builder.append("</element>");
   }
View Full Code Here

   public static void printAnonymousType(StringBuilder builder, int pad, TypeBinding type)
   {
      pad(builder, pad);
      builder.append("<complexType>");
      TypeBinding baseTypeBinding = type.getBaseType();
      String qName;
      if (baseTypeBinding != null)
         qName = baseTypeBinding.getQName().toString();
      else
         qName = "xsd:anyType";
      pad(builder, pad);
      builder.append("   <restriction base=\"").append(qName).append("\">");
      printTypeInfo(builder, pad+6, type);
View Full Code Here

   public static void printSimpleType(StringBuilder builder, int pad, TypeBinding type)
   {
      pad(builder, pad);
      builder.append("<simpleType name=\"").append(type.getQName()).append("\"");
      TypeBinding baseTypeBinding = type.getBaseType();
      String qName = null;
      if (baseTypeBinding != null)
         qName = baseTypeBinding.getQName().toString();
      else
         qName = "xsd:anySimpleType";
      builder.append(" base=\"").append(qName).append("\">");
      printTypeInfo(builder, pad+3, type);
      pad(builder, pad);
View Full Code Here

TOP

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

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.