[jboss-cvs] jboss-seam/src/main/org/jboss/seam/util ...

Gavin King gavin.king at jboss.com
Thu Oct 5 15:43:59 EDT 2006


  User: gavin   
  Date: 06/10/05 15:43:59

  Modified:    src/main/org/jboss/seam/util   Conversions.java
                        Reflections.java
  Log:
  association handling in framework
  more robust configuration
  
  Revision  Changes    Path
  1.5       +16 -0     jboss-seam/src/main/org/jboss/seam/util/Conversions.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: Conversions.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/util/Conversions.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -b -r1.4 -r1.5
  --- Conversions.java	25 Jul 2006 04:40:43 -0000	1.4
  +++ Conversions.java	5 Oct 2006 19:43:59 -0000	1.5
  @@ -36,6 +36,7 @@
         //put(Byte.class, new ByteConverter());
         //put(BigInteger.class, new BigIntegerConverter());
         //put(BigDecimal.class, new BigDecimalConverter());
  +      put(Class.class, new ClassConverter());
      }};
      
      public static <Y> void putConverter(Class<Y> type, Converter<Y> converter)
  @@ -191,6 +192,21 @@
         }
      }
      
  +   public static class ClassConverter implements Converter<Class>
  +   {
  +      public Class toObject(PropertyValue value, Type type)
  +      {
  +         try
  +         {
  +            return Reflections.classForName( value.getSingleValue() );
  +         }
  +         catch (ClassNotFoundException cnfe)
  +         {
  +            throw new IllegalArgumentException(cnfe);
  +         }
  +      }
  +   }
  +   
      public static interface PropertyValue extends Serializable
      {
         Map<String, String> getKeyedValues();
  
  
  
  1.11      +15 -2     jboss-seam/src/main/org/jboss/seam/util/Reflections.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: Reflections.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/util/Reflections.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -b -r1.10 -r1.11
  --- Reflections.java	27 Sep 2006 03:53:50 -0000	1.10
  +++ Reflections.java	5 Oct 2006 19:43:59 -0000	1.11
  @@ -1,4 +1,4 @@
  -//$Id: Reflections.java,v 1.10 2006/09/27 03:53:50 gavin Exp $
  +//$Id: Reflections.java,v 1.11 2006/10/05 19:43:59 gavin Exp $
   package org.jboss.seam.util;
   
   import java.beans.Introspector;
  @@ -157,7 +157,20 @@
               }
            }
         }
  -      return null;
  +      throw new IllegalArgumentException("no such setter method: " + clazz.getName() + '.' + name);
  +   }
  +   
  +   public static Field getField(Class clazz, String name)
  +   {
  +      for ( Class superClass = clazz; superClass!=Object.class; superClass=superClass.getSuperclass() )
  +      {
  +         try
  +         {
  +            return superClass.getDeclaredField(name);
  +         }
  +         catch (NoSuchFieldException nsfe) {}
  +      }
  +      throw new IllegalArgumentException("no such field: " + clazz.getName() + '.' + name);
      }
   
   }
  
  
  



More information about the jboss-cvs-commits mailing list