org.apache.commons.beanutils

Class MappedPropertyDescriptor

    • Field Summary

      Fields 
      Modifier and Type Field and Description
      private static java.util.Hashtable declaredMethodCache 
      private java.lang.Class mappedPropertyType
      The underlying data type of the property we are describing.
      private java.lang.reflect.Method mappedReadMethod
      The reader method for this property (if any).
      private java.lang.reflect.Method mappedWriteMethod
      The writer method for this property (if any).
      private static java.lang.Class[] stringClassArray
      The parameter types array for the reader method signature.
    • Constructor Summary

      Constructors 
      Constructor and Description
      MappedPropertyDescriptor(java.lang.String propertyName, java.lang.Class beanClass)
      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).
      MappedPropertyDescriptor(java.lang.String propertyName, java.lang.Class beanClass, java.lang.String mappedGetterName, java.lang.String mappedSetterName)
      This constructor takes the name of a mapped property, and method names for reading and writing the property.
      MappedPropertyDescriptor(java.lang.String propertyName, java.lang.reflect.Method mappedGetter, java.lang.reflect.Method mappedSetter)
      This constructor takes the name of a mapped property, and Method objects for reading and writing the property.
    • Method Summary

      Methods 
      Modifier and Type Method and Description
      private static java.lang.String capitalizePropertyName(java.lang.String s)
      Return a capitalized version of the specified property name.
      private void findMappedPropertyType()
      Introspect our bean class to identify the corresponding getter and setter methods.
      (package private) static java.lang.reflect.Method findMethod(java.lang.Class cls, java.lang.String methodName, int argCount)
      Find a target methodName on a given class.
      (package private) static java.lang.reflect.Method findMethod(java.lang.Class cls, java.lang.String methodName, int argCount, java.lang.Class[] args)
      Find a target methodName with specific parameter list on a given class.
      java.lang.Class getMappedPropertyType()
      Gets the Class object for the property values.
      java.lang.reflect.Method getMappedReadMethod()
      Gets the method that should be used to read one of the property value.
      java.lang.reflect.Method getMappedWriteMethod()
      Gets the method that should be used to write one of the property value.
      private static java.lang.reflect.Method[] getPublicDeclaredMethods(java.lang.Class clz) 
      private static java.lang.reflect.Method internalFindMethod(java.lang.Class start, java.lang.String methodName, int argCount)
      Internal support for finding a target methodName on a given class.
      private static java.lang.reflect.Method internalFindMethod(java.lang.Class start, java.lang.String methodName, int argCount, java.lang.Class[] args)
      Internal support for finding a target methodName with a given parameter list on a given class.
      (package private) static boolean isSubclass(java.lang.Class a, java.lang.Class b)
      Return true if class a is either equivalent to class b, or if class a is a subclass of class b, ie if a either "extends" or "implements" b.
      void setMappedReadMethod(java.lang.reflect.Method mappedGetter)
      Sets the method that should be used to read one of the property value.
      void setMappedWriteMethod(java.lang.reflect.Method mappedSetter)
      Sets the method that should be used to write the property value.
      private boolean throwsException(java.lang.reflect.Method method, java.lang.Class exception)
      Return true iff the given method throws the given exception.
      • Methods inherited from class java.beans.PropertyDescriptor

        createPropertyEditor, equals, getPropertyEditorClass, getPropertyType, getReadMethod, getWriteMethod, hashCode, isBound, isConstrained, setBound, setConstrained, setPropertyEditorClass, setReadMethod, setWriteMethod
      • Methods inherited from class java.beans.FeatureDescriptor

        attributeNames, getDisplayName, getName, getShortDescription, getValue, isExpert, isHidden, isPreferred, setDisplayName, setExpert, setHidden, setName, setPreferred, setShortDescription, setValue
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • mappedPropertyType

        private java.lang.Class mappedPropertyType
        The underlying data type of the property we are describing.
      • mappedReadMethod

        private java.lang.reflect.Method mappedReadMethod
        The reader method for this property (if any).
      • mappedWriteMethod

        private java.lang.reflect.Method mappedWriteMethod
        The writer method for this property (if any).
      • stringClassArray

        private static final java.lang.Class[] stringClassArray
        The parameter types array for the reader method signature.
      • declaredMethodCache

        private static java.util.Hashtable declaredMethodCache
    • Constructor Detail

      • MappedPropertyDescriptor

        public MappedPropertyDescriptor(java.lang.String propertyName,
                                java.lang.Class beanClass)
                                 throws java.beans.IntrospectionException
        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.
        Parameters:
        propertyName - The programmatic name of the property.
        beanClass - The Class object for the target bean. For example sun.beans.OurButton.class.
        Throws:
        java.beans.IntrospectionException - if an exception occurs during introspection.
      • MappedPropertyDescriptor

        public MappedPropertyDescriptor(java.lang.String propertyName,
                                java.lang.Class beanClass,
                                java.lang.String mappedGetterName,
                                java.lang.String mappedSetterName)
                                 throws java.beans.IntrospectionException
        This constructor takes the name of a mapped property, and method names for reading and writing the property.
        Parameters:
        propertyName - The programmatic name of the property.
        beanClass - The Class object for the target bean. For example sun.beans.OurButton.class.
        mappedGetterName - The name of the method used for reading one of the property values. May be null if the property is write-only.
        mappedSetterName - The name of the method used for writing one of the property values. May be null if the property is read-only.
        Throws:
        java.beans.IntrospectionException - if an exception occurs during introspection.
      • MappedPropertyDescriptor

        public MappedPropertyDescriptor(java.lang.String propertyName,
                                java.lang.reflect.Method mappedGetter,
                                java.lang.reflect.Method mappedSetter)
                                 throws java.beans.IntrospectionException
        This constructor takes the name of a mapped property, and Method objects for reading and writing the property.
        Parameters:
        propertyName - The programmatic name of the property.
        mappedGetter - The method used for reading one of the property values. May be be null if the property is write-only.
        mappedSetter - The method used for writing one the property values. May be null if the property is read-only.
        Throws:
        java.beans.IntrospectionException - if an exception occurs during introspection.
    • Method Detail

      • getMappedPropertyType

        public java.lang.Class getMappedPropertyType()
        Gets the Class object for the property values.
        Returns:
        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.

        This is the type that will be returned by the mappedReadMethod.

      • getMappedReadMethod

        public java.lang.reflect.Method getMappedReadMethod()
        Gets the method that should be used to read one of the property value.
        Returns:
        The method that should be used to read the property value. May return null if the property can't be read.
      • setMappedReadMethod

        public void setMappedReadMethod(java.lang.reflect.Method mappedGetter)
                                 throws java.beans.IntrospectionException
        Sets the method that should be used to read one of the property value.
        Parameters:
        mappedGetter - The new getter method.
        Throws:
        java.beans.IntrospectionException
      • getMappedWriteMethod

        public java.lang.reflect.Method getMappedWriteMethod()
        Gets the method that should be used to write one of the property value.
        Returns:
        The method that should be used to write one of the property value. May return null if the property can't be written.
      • setMappedWriteMethod

        public void setMappedWriteMethod(java.lang.reflect.Method mappedSetter)
                                  throws java.beans.IntrospectionException
        Sets the method that should be used to write the property value.
        Parameters:
        mappedSetter - The new setter method.
        Throws:
        java.beans.IntrospectionException
      • findMappedPropertyType

        private void findMappedPropertyType()
                                     throws java.beans.IntrospectionException
        Introspect our bean class to identify the corresponding getter and setter methods.
        Throws:
        java.beans.IntrospectionException
      • capitalizePropertyName

        private static java.lang.String capitalizePropertyName(java.lang.String s)
        Return a capitalized version of the specified property name.
        Parameters:
        s - The property name
      • getPublicDeclaredMethods

        private static java.lang.reflect.Method[] getPublicDeclaredMethods(java.lang.Class clz)
      • internalFindMethod

        private static java.lang.reflect.Method internalFindMethod(java.lang.Class start,
                                                  java.lang.String methodName,
                                                  int argCount)
        Internal support for finding a target methodName on a given class.
      • internalFindMethod

        private static java.lang.reflect.Method internalFindMethod(java.lang.Class start,
                                                  java.lang.String methodName,
                                                  int argCount,
                                                  java.lang.Class[] args)
        Internal support for finding a target methodName with a given parameter list on a given class.
      • findMethod

        static java.lang.reflect.Method findMethod(java.lang.Class cls,
                                          java.lang.String methodName,
                                          int argCount)
                                            throws java.beans.IntrospectionException
        Find a target methodName on a given class.
        Throws:
        java.beans.IntrospectionException
      • findMethod

        static java.lang.reflect.Method findMethod(java.lang.Class cls,
                                          java.lang.String methodName,
                                          int argCount,
                                          java.lang.Class[] args)
                                            throws java.beans.IntrospectionException
        Find a target methodName with specific parameter list on a given class.
        Throws:
        java.beans.IntrospectionException
      • isSubclass

        static boolean isSubclass(java.lang.Class a,
                         java.lang.Class b)
        Return true if class a is either equivalent to class b, or if class a is a subclass of class b, ie if a either "extends" or "implements" b. Note tht either or both "Class" objects may represent interfaces.
      • throwsException

        private boolean throwsException(java.lang.reflect.Method method,
                              java.lang.Class exception)
        Return true iff the given method throws the given exception.

Copyright (c) 2001-2004 - Apache Software Foundation