org.apache.commons.beanutils

## Interface IntrospectionContext

-     public interface IntrospectionContext

  A context interface used during introspection for querying and setting property descriptors.

  An implementation of this interface is passed to `BeanIntrospector` objects during processing of a bean class. It allows the `BeanIntrospector` to deliver descriptors for properties it has detected. It is also possible to find out which properties have already been found by another `BeanIntrospector`; this allows multiple `BeanIntrospector` instances to collaborate.

  Since:
    1.9
  Version:
    $Id$

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addPropertyDescriptor(PropertyDescriptor desc)` Adds the given property descriptor to this context.
    `void` | `addPropertyDescriptors(PropertyDescriptor[] descriptors)` Adds an array of property descriptors to this context.
    `PropertyDescriptor` | `getPropertyDescriptor(String name)` Returns the descriptor for the property with the given name or null if this property is unknown.
    `Class<?>` | `getTargetClass()` Returns the class that is subject of introspection.
    `boolean` | `hasProperty(String name)` Tests whether a descriptor for the property with the given name is already contained in this context.
    `Set<String>` | `propertyNames()` Returns a set with the names of all properties known to this context.
    `void` | `removePropertyDescriptor(String name)` Removes the descriptor for the property with the given name.

- - ### Method Detail

    - #### getTargetClass

          Class<?> getTargetClass()

      Returns the class that is subject of introspection.
      Returns:
        the current class

    - #### addPropertyDescriptor

          void addPropertyDescriptor(PropertyDescriptor desc)

      Adds the given property descriptor to this context. This method is called by a `BeanIntrospector` during introspection for each detected property. If this context already contains a descriptor for the affected property, it is overridden.
      Parameters:
        `desc` - the property descriptor

    - #### addPropertyDescriptors

          void addPropertyDescriptors(PropertyDescriptor[] descriptors)

      Adds an array of property descriptors to this context. Using this method multiple descriptors can be added at once.
      Parameters:
        `descriptors` - the array of descriptors to be added

    - #### hasProperty

          boolean hasProperty(String name)

      Tests whether a descriptor for the property with the given name is already contained in this context. This method can be used for instance to prevent that an already existing property descriptor is overridden.
      Parameters:
        `name` - the name of the property in question
      Returns:
        true if a descriptor for this property has already been added, false otherwise

    - #### getPropertyDescriptor

          PropertyDescriptor getPropertyDescriptor(String name)

      Returns the descriptor for the property with the given name or null if this property is unknown.
      Parameters:
        `name` - the name of the property in question
      Returns:
        the descriptor for this property or null if this property is unknown

    - #### removePropertyDescriptor

          void removePropertyDescriptor(String name)

      Removes the descriptor for the property with the given name.
      Parameters:
        `name` - the name of the affected property

    - #### propertyNames

          Set<String> propertyNames()

      Returns a set with the names of all properties known to this context.
      Returns:
        a set with the known property names

Copyright © 2000–2019 The Apache Software Foundation. All rights reserved.