Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
  * JBoss, Home of Professional Open Source
  * Copyright 2006, JBoss Inc., and individual contributors as indicated
  * by the @authors tag. See the copyright.txt in the distribution for a
  * full listing of individual contributors.
  *
  * This is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as
  * published by the Free Software Foundation; either version 2.1 of
 * the License, or (at your option) any later version.
 *
 * This software is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this software; if not, write to the Free
 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
 */
 package org.jboss.xb.builder.runtime;
 
 
 import  org.jboss.logging.Logger;
ValueHandler.

Author(s):
Adrian Brock
Version:
$Revision: 1.1 $
 
 public class ValueHandler extends CharactersHandler
 {
   
The log
 
    private final Logger log = Logger.getLogger(getClass());
   
   
Whether trace is enabled
 
    private boolean trace = .isTraceEnabled();
   
   
The property info
 
    private PropertyInfo propertyInfo;
   
   
value type info
 
    private TypeInfo valueTypeInfo;
   
   
The wrapper type
 
    private BeanInfo beanInfo;
   
   
The wrapper property
 
    private String property;
      
   
Create a new AbstractPropertyHandler

Parameters:
propertyInfo the property
Throws:
IllegalArgumentException for a null parameter
 
    public ValueHandler(PropertyInfo propertyInfo)
    {
       if (propertyInfo == null)
          throw new IllegalArgumentException("Null propertyInfo");
       this. = propertyInfo;
       this. = propertyInfo.getType();
    }

   
   
   
Create a new ValueHandler.

Parameters:
propertyInfo the property
valueTypeInfo the type of the property to cast the value to before setting
    
    public ValueHandler(PropertyInfo propertyInfoTypeInfo valueTypeInfo)
    {
       if (propertyInfo == null)
          throw new IllegalArgumentException("Null propertyInfo");
       this. = propertyInfo;
       this. = valueTypeInfo;
       if(valueTypeInfo == null)
          this. = propertyInfo.getType(); 
    }


   
Create a new AbstractPropertyHandler

Parameters:
propertyInfo the property
beanInfo the wrapper class
property the wrapper property
Throws:
IllegalArgumentException for a null qName or property
   public ValueHandler(PropertyInfo propertyInfoBeanInfo beanInfoString property)
   {
      if (propertyInfo == null)
         throw new IllegalArgumentException("Null propertyInfo");
      if (beanInfo == null)
         throw new IllegalArgumentException("Null beanInfo");
      if (property == null)
         throw new IllegalArgumentException("Null property");
      this. = propertyInfo;
      this. = propertyInfo.getType();
      this. = beanInfo;
      this. = property;
   }

   
Get the property info

Returns:
the property info
   {
      return ;
   }
   public void setValue(QName qNameElementBinding elementObject ownerObject value)
   {
      if ()
         .trace("QName " + qName + " handle " + BuilderUtil.toDebugString(value) + " to " + BuilderUtil.toDebugString(owner));
      try
      {
         value = .convertValue(valuefalse);
         if ( != null)
         {
            ClassInfo classInfo = .getClassInfo();
            TypeInfo valueType = classInfo.getTypeInfoFactory().getTypeInfo(value.getClass());
            if (classInfo.isAssignableFrom(valueType) == false)
            {
               Object wrapper = .newInstance();
               .setProperty(wrappervalue);
               value = wrapper;
            }
         }
         BeanAdapter beanAdapter = (BeanAdapterowner;
         beanAdapter.set(value);
      }
      catch (Throwable t)
      {
         throw new RuntimeException("QName " + qName + " error setting characters " + .getName() + " with value " + BuilderUtil.toDebugString(value) + " to " + BuilderUtil.toDebugString(owner) + " property=" + .getName(), t);
      }
   }
New to GrepCode? Check out our FAQ X