commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From d...@apache.org
Subject cvs commit: jakarta-commons/beanutils/src/java/org/apache/commons/beanutils MappedPropertyDescriptor.java
Date Sun, 24 Mar 2002 09:53:52 GMT
dion        02/03/24 01:53:52

  Modified:    beanutils/src/java/org/apache/commons/beanutils
                        MappedPropertyDescriptor.java
  Log:
  Removed more blank lines
  
  Revision  Changes    Path
  1.10      +16 -351   jakarta-commons/beanutils/src/java/org/apache/commons/beanutils/MappedPropertyDescriptor.java
  
  Index: MappedPropertyDescriptor.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/beanutils/src/java/org/apache/commons/beanutils/MappedPropertyDescriptor.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- MappedPropertyDescriptor.java	24 Mar 2002 09:47:05 -0000	1.9
  +++ MappedPropertyDescriptor.java	24 Mar 2002 09:53:52 -0000	1.10
  @@ -1,121 +1,62 @@
   /*
  -
  - * $Header: /home/cvs/jakarta-commons/beanutils/src/java/org/apache/commons/beanutils/MappedPropertyDescriptor.java,v
1.9 2002/03/24 09:47:05 dion Exp $
  -
  - * $Revision: 1.9 $
  -
  - * $Date: 2002/03/24 09:47:05 $
  -
  + * $Header: /home/cvs/jakarta-commons/beanutils/src/java/org/apache/commons/beanutils/MappedPropertyDescriptor.java,v
1.10 2002/03/24 09:53:52 dion Exp $
  + * $Revision: 1.10 $
  + * $Date: 2002/03/24 09:53:52 $
    *
  -
    * ====================================================================
  -
    *
  -
    * The Apache Software License, Version 1.1
  -
    *
  -
    * Copyright (c) 1999-2002 The Apache Software Foundation.  All rights
  -
    * reserved.
  -
    *
  -
    * Redistribution and use in source and binary forms, with or without
  -
    * modification, are permitted provided that the following conditions
  -
    * are met:
  -
    *
  -
    * 1. Redistributions of source code must retain the above copyright
  -
    *    notice, this list of conditions and the following disclaimer.
  -
    *
  -
    * 2. Redistributions in binary form must reproduce the above copyright
  -
    *    notice, this list of conditions and the following disclaimer in
  -
    *    the documentation and/or other materials provided with the
  -
    *    distribution.
  -
    *
  -
    * 3. The end-user documentation included with the redistribution, if
  -
    *    any, must include the following acknowlegement:
  -
    *       "This product includes software developed by the
  -
    *        Apache Software Foundation (http://www.apache.org/)."
  -
    *    Alternately, this acknowlegement may appear in the software itself,
  -
    *    if and wherever such third-party acknowlegements normally appear.
  -
    *
  -
    * 4. The names "The Jakarta Project", "Commons", and "Apache Software
  -
    *    Foundation" must not be used to endorse or promote products derived
  -
    *    from this software without prior written permission. For written
  -
    *    permission, please contact apache@apache.org.
  -
    *
  -
    * 5. Products derived from this software may not be called "Apache"
  -
    *    nor may "Apache" appear in their names without prior written
  -
    *    permission of the Apache Group.
  -
    *
  -
    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  -
    * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  -
    * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  -
    * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
  -
    * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  -
    * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  -
    * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  -
    * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  -
    * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  -
    * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  -
    * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  -
    * SUCH DAMAGE.
  -
    * ====================================================================
  -
    *
  -
    * This software consists of voluntary contributions made by many
  -
    * individuals on behalf of the Apache Software Foundation.  For more
  -
    * information on the Apache Software Foundation, please see
  -
    * <http://www.apache.org/>.
  -
    *
  -
    */
   
   
  @@ -131,562 +72,286 @@
   
   
   /**
  -
    * A MappedPropertyDescriptor describes one mapped property.
  -
    * Mapped properties are multivalued properties like indexed properties
  -
    * but that are accessed with a String key instead of an index.
  -
    * Such property values are typically stored in a Map collection.
  -
    * For this class to work properly, a mapped value must have
  -
    * getter and setter methods of the form
  -
    * <p><code>get<strong>Property</strong>(String key)<code>
and
  -
    * <p><code>set&ltProperty&gt(String key, Object value)<code>,
  -
    * <p>where <code><strong>Property</strong></code> must be
replaced
  -
    * by the name of the property.
  -
    * @see java.beans.PropertyDescriptor
  -
    *
  -
    * @author Rey François
  -
    * @author Gregor Raıman
  -
  - * @version $Revision: 1.9 $ $Date: 2002/03/24 09:47:05 $
  -
  + * @version $Revision: 1.10 $ $Date: 2002/03/24 09:53:52 $
    */
   
   
   public class MappedPropertyDescriptor extends PropertyDescriptor {
  -
  -
       // ----------------------------------------------------- Instance Variables
   
  -
  -
  -
  -
  -
  -
       /**
  -
        * The underlying data type of the property we are describing.
  -
        */
  -
       private Class mappedPropertyType;
   
  -
       /**
  -
        * The reader method for this property (if any).
  -
        */
  -
       private Method mappedReadMethod;
   
  -
       /**
  -
        * The writer method for this property (if any).
  -
        */
  -
       private Method mappedWriteMethod;
   
  -
       /**
  -
        * The parameter types array for the reader method signature.
  -
        */
  -
       private static final Class[] stringClassArray = new Class[]{String.class};
   
  -
  -
  -
  -
       // ----------------------------------------------------------- Constructors
   
  -
  -
  -
  -
       /**
  -
        * Constructs a MappedPropertyDescriptor for a property that follows
  -
        * the standard Java convention by having getFoo and setFoo
  -
        * accessor methods, with the addition of a String parameter (the key).
  -
        * Thus if the argument name is "fred", it will
  -
        * assume that the writer method is "setFred" and the reader method
  -
        * is "getFred".  Note that the property name should start with a lower
  -
        * case character, which will be capitalized in the method names.
  -
        *
  -
        * @param propertyName The programmatic name of the property.
  -
        * @param beanClass The Class object for the target bean.  For
  -
        *		example sun.beans.OurButton.class.
  -
        *
  -
        * @exception IntrospectionException if an exception occurs during
  -
        *              introspection.
  -
        */
  -
       public MappedPropertyDescriptor(String propertyName, Class beanClass)
  -
               throws IntrospectionException {
   
  -
           super(propertyName, null, null);
  -
  +        
           if (propertyName == null || propertyName.length() == 0) {
  -
               throw new IntrospectionException("bad property name: " +
                       propertyName + " on class: " + beanClass.getClass().getName());
  -
           }
   
           setName(propertyName);
  -
           String base = capitalize(propertyName);
   
  -
  -
           // Look for mapped get and set methods
  -
           try {
  -
               mappedReadMethod = findMethod(beanClass, "get" + base, 1,
  -
                       stringClassArray);
  -
  -            Class params[] =
  -
  -                    { String.class, mappedReadMethod.getReturnType() };
  -
  -            mappedWriteMethod = findMethod(beanClass, "set" + base, 2,
  -
  -                    params);
  -
  +            Class params[] = { String.class, mappedReadMethod.getReturnType() };
  +            mappedWriteMethod = findMethod(beanClass, "set" + base, 2,  params);
           } catch (IntrospectionException e) {
  -
               ;
  -
           }
   
  -        if ((mappedReadMethod == null) && (mappedWriteMethod == null))
  -
  +        if ((mappedReadMethod == null) && (mappedWriteMethod == null)) {
               throw new IntrospectionException("Property '" + propertyName +
  -
                       "' not found on " +
  -
                       beanClass.getName());
  -
  +        }
  +        
           findMappedPropertyType();
  -
  -
       }
   
   
       /**
  -
        * This constructor takes the name of a mapped property, and method
  -
        * names for reading and writing the property.
  -
        *
  -
        * @param propertyName The programmatic name of the property.
  -
        * @param beanClass The Class object for the target bean.  For
  -
        *		example sun.beans.OurButton.class.
  -
        * @param mappedGetterName The name of the method used for
  -
        *          reading one of the property values.  May be null if the
  -
        *          property is write-only.
  -
        * @param mappedSetterName The name of the method used for writing
  -
        *          one of the property values.  May be null if the property is
  -
        *          read-only.
  -
        *
  -
        * @exception IntrospectionException if an exception occurs during
  -
        *              introspection.
  -
        */
  -
       public MappedPropertyDescriptor(String propertyName, Class beanClass,
  -
                                       String mappedGetterName, String mappedSetterName)
  -
               throws IntrospectionException {
   
  -
           super(propertyName, null, null);
   
           if (propertyName == null || propertyName.length() == 0) {
  -
               throw new IntrospectionException("bad property name: " +
                       propertyName);
  -
           }
  -
           setName(propertyName);
   
  -
  -
           // search the mapped get and set methods
  -
           mappedReadMethod =
  -
  -                findMethod(beanClass, mappedGetterName, 1, stringClassArray);
  +            findMethod(beanClass, mappedGetterName, 1, stringClassArray);
   
           if (mappedReadMethod != null) {
  -
  -            Class params[] = { String.class,
  -
  -                mappedReadMethod.getReturnType() };
  -
  -            mappedWriteMethod =
  -
  -                    findMethod(beanClass, mappedSetterName, 2, params);
  -
  +            Class params[] = { String.class, mappedReadMethod.getReturnType() };
  +            mappedWriteMethod = 
  +                findMethod(beanClass, mappedSetterName, 2, params);
           } else {
  -
               mappedWriteMethod =
  -
  -                    findMethod(beanClass, mappedSetterName, 2);
  -
  +                findMethod(beanClass, mappedSetterName, 2);
           }
   
           findMappedPropertyType();
  -
  -
       }
   
  -
       /**
  -
        * This constructor takes the name of a mapped property, and Method
  -
        * objects for reading and writing the property.
  -
        *
  -
        * @param propertyName The programmatic name of the property.
  -
        * @param mappedGetter The method used for reading one of
  -
        *          the property values.  May be be null if the property
  -
        *          is write-only.
  -
        * @param mappedSetter The method used for writing one the
  -
        *          property values.  May be null if the property is read-only.
  -
        *
  -
        * @exception IntrospectionException if an exception occurs during
  -
        *              introspection.
  -
        */
  -
       public MappedPropertyDescriptor(String propertyName,
  -
                                       Method mappedGetter, Method mappedSetter)
  -
               throws IntrospectionException {
   
  -
           super(propertyName, mappedGetter, mappedSetter);
   
           if (propertyName == null || propertyName.length() == 0) {
  -
               throw new IntrospectionException("bad property name: " +
                       propertyName);
  -
           }
   
           setName(propertyName);
  -
           mappedReadMethod = mappedGetter;
  -
           mappedWriteMethod = mappedSetter;
  -
           findMappedPropertyType();
  -
  -
       }
   
  -
  -
  -
  -
       // -------------------------------------------------------- Public Methods
   
  -
  -
  -
  -
       /**
  -
        * Gets the Class object for the property values.
  -
        *
  -
        * @return The Java type info for the property values.  Note that
  -
        * the "Class" object may describe a built-in Java type such as "int".
  -
        * The result may be "null" if this is a mapped property that
  -
        * does not support non-keyed access.
  -
        * <p>
  -
        * This is the type that will be returned by the mappedReadMethod.
  -
        */
  -
       public Class getMappedPropertyType() {
  -
  -
           return mappedPropertyType;
  -
  -
       }
   
  -
       /**
  -
        * Gets the method that should be used to read one of the property value.
  -
        *
  -
        * @return The method that should be used to read the property value.
  -
        * May return null if the property can't be read.
  -
        */
  -
       public Method getMappedReadMethod() {
  -
  -
           return mappedReadMethod;
  -
  -
       }
   
  -
       /**
  -
        * Sets the method that should be used to read one of the property value.
  -
        *
  -
        * @param getter The new getter method.
  -
        */
  -
       public void setMappedReadMethod(Method mappedGetter)
  -
               throws IntrospectionException {
  -
  -
           mappedReadMethod = mappedGetter;
  -
           findMappedPropertyType();
  -
  -
       }
   
  -
       /**
  -
        * Gets the method that should be used to write one of the property value.
  -
        *
  -
        * @return The method that should be used to write one of the property value.
  -
        * May return null if the property can't be written.
  -
        */
  -
       public Method getMappedWriteMethod() {
  -
  -
           return mappedWriteMethod;
  -
  -
       }
   
  -
       /**
  -
        * Sets the method that should be used to write the property value.
  -
        *
  -
        * @param setter The new setter method.
  -
        */
  -
       public void setMappedWriteMethod(Method mappedSetter)
  -
               throws IntrospectionException {
  -
  -
           mappedWriteMethod = mappedSetter;
  -
           findMappedPropertyType();
  -
  -
       }
   
  -
  -
  -
  -
       // ------------------------------------------------------- Private Methods
   
  -
  -
  -
  -
       /**
  -
        * Introspect our bean class to identify the corresponding getter
  -
        * and setter methods.
  -
        */
  -
       private void findMappedPropertyType() throws IntrospectionException {
  -
  -
           try {
  -
               mappedPropertyType = null;
  -
               if (mappedReadMethod != null) {
  -
                   if (mappedReadMethod.getParameterTypes().length != 1) {
  -
                       throw new IntrospectionException
  -
                               ("bad mapped read method arg count");
  -
                   }
  -
  -                mappedPropertyType =
  -
  -                        mappedReadMethod.getReturnType();
  -
  +                mappedPropertyType = mappedReadMethod.getReturnType();
                   if (mappedPropertyType == Void.TYPE) {
  -
                       throw new IntrospectionException
  -
                               ("mapped read method " +
  -
                               mappedReadMethod.getName() + " returns void");
  -
                   }
  -
               }
   
               if (mappedWriteMethod != null) {
  -
                   Class params[] = mappedWriteMethod.getParameterTypes();
  -
                   if (params.length != 2) {
  -
                       throw new IntrospectionException
  -
                               ("bad mapped write method arg count");
  -
                   }
  -
                   if (mappedPropertyType != null &&
  -
                           mappedPropertyType != params[1]) {
  -
                       throw new IntrospectionException
  -
                               ("type mismatch between mapped read and write methods");
  -
                   }
  -
                   mappedPropertyType = params[1];
  -
               }
  -
           } catch (IntrospectionException ex) {
  -
               throw ex;
  -
           }
  -
  -
       }
   
   
       /**
  -
        * Return a capitalized version of the specified property name.
  -
        *
  -
        * @param s The property name
  -
        */
  -
       private static String capitalize(String s) {
  -
  -
           if (s.length() == 0) {
  -
               return s;
  -
           }
   
           char chars[] = s.toCharArray();
  -
           chars[0] = Character.toUpperCase(chars[0]);
  -
           return new String(chars);
  -
  -
       }
   
   
  
  
  

--
To unsubscribe, e-mail:   <mailto:commons-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:commons-dev-help@jakarta.apache.org>


Mime
View raw message