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

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


   {
      if (trace)
         log.trace("setParent " + qName + " parent=" + BuilderUtil.toDebugString(parent) + " child=" + BuilderUtil.toDebugString(o));

      TermBinding term = particle.getTerm();
      ValueAdapter valueAdapter = null;
      if(term.isModelGroup())
      {
         QName modelGroupName = ((ModelGroupBinding)term).getQName();
         if(modelGroupName != null)
         {
            qName = modelGroupName;
         }
      }
      else if(term.isElement())
      {
         valueAdapter = ((ElementBinding)term).getValueAdapter();
      }

      if (parent != null && parent instanceof ArrayWrapper)
      {
         ArrayWrapper wrapper = (ArrayWrapper) parent;
         wrapper.add(o);
         wrapper.setChildParticle(particle);
         wrapper.setParentParticle(parentParticle);
         return;
      }

      BeanAdapter beanAdapter;
      if (parent instanceof ArrayWrapper)
         beanAdapter = (BeanAdapter) ((ArrayWrapper) parent).getParent();
      else
         beanAdapter = (BeanAdapter) parent;
      AbstractPropertyHandler propertyHandler = beanAdapter.getPropertyHandler(qName);
      if (propertyHandler == null)
      {
         AbstractPropertyHandler wildcardHandler = beanAdapter.getWildcardHandler();
         if (wildcardHandler != null)
         {
            if (o != null && o instanceof ArrayWrapper)
            {
               ArrayWrapper wrapper = (ArrayWrapper) o;
               wildcardHandler.doHandle(beanAdapter, wrapper, wrapper.getElementName());
               return;
            }
         }
         TermBinding element = term;
         if (element.getSchema().isStrictSchema())
         {
            throw new RuntimeException("QName " + qName + " unknown property parent=" + BuilderUtil.toDebugString(parent) + " child=" + BuilderUtil.toDebugString(o) + " available=" + beanAdapter.getAvailable());
         }
         if (trace)
            log.trace("QName " + qName + " unknown property parent=" + BuilderUtil.toDebugString(parent) + " child=" + BuilderUtil.toDebugString(o));
         return;
      }

      if(particle.isRepeatable() && propertyHandler instanceof CollectionPropertyHandler)
      {
         // TODO this is not optimal!
         // repeatable particles are collected into java.util.Collection
         for(Object item : (java.util.Collection)o)
         {
            if(valueAdapter != null)
            {
               item = valueAdapter.cast(item, null/*propertyHandler.getPropertyType().getType()*/);
            }
            propertyHandler.doHandle(beanAdapter, item, qName);
         }
      }
      else
      {
         // TODO looks like value adapter should be used earlier in the stack
         if(valueAdapter != null)
         {
            o = valueAdapter.cast(o, null/*propertyHandler.getPropertyType().getType()*/);
         }
         propertyHandler.doHandle(beanAdapter, o, qName);
      }
   }
View Full Code Here


/*     */     }
/*     */   }
/*     */
/*     */   public void attribute(QName elemName, QName attrName, AttributeBinding binding, Object owner, Object value)
/*     */   {
/* 113 */     ValueAdapter valueAdapter = binding.getValueAdapter();
/* 114 */     if (valueAdapter != null) {
/* 115 */       value = valueAdapter.cast(value, null);
/*     */     }
/* 117 */     BeanAdapter parent = (BeanAdapter)owner;
/* 118 */     doHandle(parent, value, attrName);
/*     */   }
View Full Code Here

/*     */   {
/* 132 */     if (this.trace) {
/* 133 */       this.log.trace("setParent " + qName + " parent=" + BuilderUtil.toDebugString(parent) + " child=" + BuilderUtil.toDebugString(o));
/*     */     }
/* 135 */     TermBinding term = particle.getTerm();
/* 136 */     ValueAdapter valueAdapter = null;
/* 137 */     if (term.isModelGroup())
/*     */     {
/* 139 */       QName modelGroupName = ((ModelGroupBinding)term).getQName();
/* 140 */       if (modelGroupName != null)
/*     */       {
/* 142 */         qName = modelGroupName;
/*     */       }
/*     */     }
/* 145 */     else if (term.isElement())
/*     */     {
/* 147 */       valueAdapter = ((ElementBinding)term).getValueAdapter();
/*     */     }
/*     */
/* 150 */     if ((parent != null) && ((parent instanceof ArrayWrapper)))
/*     */     {
/* 152 */       ArrayWrapper wrapper = (ArrayWrapper)parent;
/* 153 */       wrapper.add(o);
/* 154 */       wrapper.setChildParticle(particle);
/* 155 */       wrapper.setParentParticle(parentParticle);
/* 156 */       return;
/*     */     }
/*     */     BeanAdapter beanAdapter;
/*     */     BeanAdapter beanAdapter;
/* 160 */     if ((parent instanceof ArrayWrapper))
/* 161 */       beanAdapter = (BeanAdapter)((ArrayWrapper)parent).getParent();
/*     */     else
/* 163 */       beanAdapter = (BeanAdapter)parent;
/* 164 */     AbstractPropertyHandler propertyHandler = beanAdapter.getPropertyHandler(qName);
/* 165 */     if (propertyHandler == null)
/*     */     {
/* 167 */       AbstractPropertyHandler wildcardHandler = beanAdapter.getWildcardHandler();
/* 168 */       if (wildcardHandler != null)
/*     */       {
/* 170 */         if ((o != null) && ((o instanceof ArrayWrapper)))
/*     */         {
/* 172 */           ArrayWrapper wrapper = (ArrayWrapper)o;
/* 173 */           wildcardHandler.doHandle(beanAdapter, wrapper, wrapper.getElementName());
/* 174 */           return;
/*     */         }
/*     */       }
/* 177 */       TermBinding element = term;
/* 178 */       if (element.getSchema().isStrictSchema())
/*     */       {
/* 180 */         throw new RuntimeException("QName " + qName + " unknown property parent=" + BuilderUtil.toDebugString(parent) + " child=" + BuilderUtil.toDebugString(o) + " available=" + beanAdapter.getAvailable());
/*     */       }
/* 182 */       if (this.trace)
/* 183 */         this.log.trace("QName " + qName + " unknown property parent=" + BuilderUtil.toDebugString(parent) + " child=" + BuilderUtil.toDebugString(o));
/* 184 */       return;
/*     */     }
/*     */     Iterator i$;
/* 187 */     if ((particle.isRepeatable()) && ((propertyHandler instanceof CollectionPropertyHandler)))
/*     */     {
/* 191 */       for (i$ = ((Collection)o).iterator(); i$.hasNext(); ) { Object item = i$.next();
/*     */
/* 193 */         if (valueAdapter != null)
/*     */         {
/* 195 */           item = valueAdapter.cast(item, null);
/*     */         }
/* 197 */         propertyHandler.doHandle(beanAdapter, item, qName);
/*     */       }
/*     */
/*     */     }
/*     */     else
/*     */     {
/* 203 */       if (valueAdapter != null)
/*     */       {
/* 205 */         o = valueAdapter.cast(o, null);
/*     */       }
/* 207 */       propertyHandler.doHandle(beanAdapter, o, qName);
/*     */     }
/*     */   }
View Full Code Here

/*      */     try
/*      */     {
/*  560 */       TypeInfo typeInfo = JBossXBBuilder.configuration.getTypeInfo(type);
/*  561 */       BeanInfo adapterInfo = JBossXBBuilder.configuration.getBeanInfo(adapter);
/*      */
/*  563 */       ValueAdapter valueAdapter = (ValueAdapter)adapterInfo.newInstance();
/*      */
/*  565 */       QName qName = generateXmlName(typeInfo, XmlNsForm.QUALIFIED, overrideNamespace, overrideName);
/*      */
/*  567 */       TypeInfo parentType = typeInfo.getTypeInfoFactory().getTypeInfo(String.class);
/*  568 */       TypeBinding parent = getSimpleType(parentType);
View Full Code Here

      SchemaBinding schema = bind("TopLevelValueAdapter.xsd");
      schema.setIgnoreUnresolvedFieldOrClass(false);

      ElementBinding element = schema.getElement(new QName(NS, "top"));
      TypeBinding type = element.getType();
      type.setValueAdapter(new ValueAdapter()
      {
         public Object cast(Object o, Class<?> c)
         {
            String string = (String) o;
            return string + "...";
View Full Code Here

   {
      if (trace)
         log.trace("setParent " + qName + " parent=" + BuilderUtil.toDebugString(parent) + " child=" + BuilderUtil.toDebugString(o));

      TermBinding term = particle.getTerm();
      ValueAdapter valueAdapter = null;
      if(term.isModelGroup())
      {
         QName modelGroupName = ((ModelGroupBinding)term).getQName();
         if(modelGroupName != null)
         {
            qName = modelGroupName;
         }
      }
      else if(term.isElement())
      {
         valueAdapter = ((ElementBinding)term).getValueAdapter();
      }

      if (parent != null && parent instanceof ArrayWrapper)
      {
         ArrayWrapper wrapper = (ArrayWrapper) parent;
         wrapper.add(o);
         wrapper.setChildParticle(particle);
         wrapper.setParentParticle(parentParticle);
         return;
      }

      BeanAdapter beanAdapter;
      if (parent instanceof ArrayWrapper)
         beanAdapter = (BeanAdapter) ((ArrayWrapper) parent).getParent();
      else
         beanAdapter = (BeanAdapter) parent;
      AbstractPropertyHandler propertyHandler = beanAdapter.getPropertyHandler(qName);
      if (propertyHandler == null)
      {
         AbstractPropertyHandler wildcardHandler = beanAdapter.getWildcardHandler();
         if (wildcardHandler != null)
         {
            if (o != null && o instanceof ArrayWrapper)
            {
               ArrayWrapper wrapper = (ArrayWrapper) o;
               wildcardHandler.doHandle(beanAdapter, wrapper, wrapper.getElementName());
               return;
            }
         }
         TermBinding element = term;
         if (element.getSchema().isStrictSchema())
         {
            throw new RuntimeException("QName " + qName + " unknown property parent=" + BuilderUtil.toDebugString(parent) + " child=" + BuilderUtil.toDebugString(o) + " available=" + beanAdapter.getAvailable());
         }
         if (trace)
            log.trace("QName " + qName + " unknown property parent=" + BuilderUtil.toDebugString(parent) + " child=" + BuilderUtil.toDebugString(o));
         return;
      }

      if(particle.isRepeatable() && !(propertyHandler instanceof PropertyHandler))
      {
         // TODO this is not optimal!
         // repeatable particles are collected into java.util.Collection
         for(Object item : (java.util.Collection)o)
         {
            if(valueAdapter != null)
            {
               item = valueAdapter.cast(item, null/*propertyHandler.getPropertyType().getType()*/);
            }
            propertyHandler.doHandle(beanAdapter, item, qName);
         }
      }
      else
      {
         // TODO looks like value adapter should be used earlier in the stack
         if(valueAdapter != null)
         {
            o = valueAdapter.cast(o, null/*propertyHandler.getPropertyType().getType()*/);
         }
         propertyHandler.doHandle(beanAdapter, o, qName);
      }
   }
View Full Code Here

   }

   @Override
   public void attribute(QName elemName, QName attrName, AnyAttributeBinding binding, Object owner, Object value)
   {
      ValueAdapter valueAdapter = binding.getValueAdapter();
      if (valueAdapter != null)
         value = valueAdapter.cast(value, null);
     
      BeanAdapter parent = (BeanAdapter) owner;
      doHandle(parent, value, attrName);
   }
View Full Code Here

   }

   @Override
   public void attribute(QName elemName, QName attrName, AttributeBinding binding, Object owner, Object value)
   {
      ValueAdapter valueAdapter = binding.getValueAdapter();
      if (valueAdapter != null)
         value = valueAdapter.cast(value, null);
     
      BeanAdapter parent = (BeanAdapter) owner;
      doHandle(parent, value, attrName);
   }
View Full Code Here

TOP

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

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.