Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.axis.utils
Class BeanPropertyDescriptor

    java.lang.Object
      org.apache.axis.utils.BeanPropertyDescriptor

Direct Known Subclasses:
  FieldPropertyDescriptor

public class BeanPropertyDescriptor
extends Object

This class represents a field/property in a value type (a class with either bean-style getters/setters or public fields).

It is essentially a thin wrapper around the PropertyDescriptor from the JavaBean utilities. We wrap it with this class so that we can create the subclass FieldPropertyDescriptor and access public fields (who wouldn't have PropertyDescriptors normally) via the same interface.

There are also some interesting tricks where indexed properties are concerned, mostly involving the fact that we manage the arrays here rather than relying on the value type class to do it itself.

Author:
  Rich Scheuerle , Glen Daniels (gdaniels@apache.org)

Field Summary
`protected PropertyDescriptor` | `myPD`
`protected static Object[]` | `noArgs`

Constructor Summary
`protected` | `BeanPropertyDescriptor()` Protected constructor for use by our children
`` | `BeanPropertyDescriptor(PropertyDescriptor pd)` Constructor (takes a PropertyDescriptor)

Method Summary
`Object` | `get(Object obj)` Get the property value
`Object` | `get(Object obj, int i)` Get an indexed property
`String` | `getName()` Get our property name.
`Class` | `getType()` Get the type of a property
`protected void` | `growArrayToSize(Object obj, Class componentType, int i)` Grow the array
`boolean` | `isIndexed()` Query if property is indexed.
`boolean` | `isReadable()` Query if property is readable
`boolean` | `isWriteable()` Query if property is writeable
`void` | `set(Object obj, int i, Object newValue)` Set an indexed property value
`void` | `set(Object obj, Object newValue)` Set the property value

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### myPD

    protected PropertyDescriptor myPD

### noArgs

    protected static final Object[] noArgs

Constructor Detail

### BeanPropertyDescriptor

    public BeanPropertyDescriptor(PropertyDescriptor pd)

  Constructor (takes a PropertyDescriptor)

Parameters:
  `pd` -

### BeanPropertyDescriptor

    protected BeanPropertyDescriptor()

  Protected constructor for use by our children

Method Detail

### getName

    public String getName()

  Get our property name.

### isReadable

    public boolean isReadable()

  Query if property is readable

  Returns:
    true if readable

### isWriteable

    public boolean isWriteable()

  Query if property is writeable

  Returns:
    true if writeable

### isIndexed

    public boolean isIndexed()

  Query if property is indexed.

  Returns:
    true if indexed methods exist

### get

    public Object get(Object obj)
               throws InvocationTargetException,
                      IllegalAccessException

  Get the property value

  Parameters:
    `obj` - is the object
  Returns:
    the entire propery value
  Throws:
    `InvocationTargetException`
    `IllegalAccessException`

### set

    public void set(Object obj,
                    Object newValue)
             throws InvocationTargetException,
                    IllegalAccessException

  Set the property value

  Parameters:
    `obj` - is the object
    `newValue` - is the new value
  Throws:
    `InvocationTargetException`
    `IllegalAccessException`

### get

    public Object get(Object obj,
                      int i)
               throws InvocationTargetException,
                      IllegalAccessException

  Get an indexed property

  Parameters:
    `obj` - is the object
    `i` - the index
  Returns:
    the object at the indicated index
  Throws:
    `InvocationTargetException`
    `IllegalAccessException`

### set

    public void set(Object obj,
                    int i,
                    Object newValue)
             throws InvocationTargetException,
                    IllegalAccessException

  Set an indexed property value

  Parameters:
    `obj` - is the object
    `i` - the index
    `newValue` - is the new value
  Throws:
    `InvocationTargetException`
    `IllegalAccessException`

### growArrayToSize

    protected void growArrayToSize(Object obj,
                                   Class componentType,
                                   int i)
                            throws InvocationTargetException,
                                   IllegalAccessException

  Grow the array

  Parameters:
    `obj` -
    `componentType` -
    `i` -
  Throws:
    `InvocationTargetException`
    `IllegalAccessException`

### getType

    public Class getType()

  Get the type of a property

  Returns:
    the type of the property

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002 JBoss Group, LLC. All Rights Reserved.