Package net.sf.navel.beans

Interface Summary
ConstructionDelegate Instances of this interface may be registered for types of interest and whenever those types are included in the total set for a new Navel bean, any matching delegate instances will be called before and after construction.
IndexedPropertyDelegate<C,T> This delegate is to PropertyDelegate as IndexedPropertyDescriptor in the JavaBeans API is to PropertyDescriptor.
InterfaceDelegate Parent class for delegate implementations that supports an entire interface of functional methods.
NestedResolver Represents the desired strategy for populating values into indirectly created beans created while parsing dot notation expressions.
PropertyDelegate<T> Interface for providing handling on a property by property basis.

Class Summary
BeanManipulator This class allows for generically manipulating the values encapsulated in JavaBeans and Navel beans.
BeanManipulatorTest Exercises the two primary activities of the bean manipulator.
DefaultConstructor Does nothing, a Null Pattern so that there is a useable but no-op delegate to call for all proxies created.
DefaultNestedResolver The default implementation just adds the provided initial state directly to storage, triggering property type and name validation.
DotNotationExpression Encapsulates the parse tree generated from a dot-notation expression.
IndexedPropertyDelegateTest Tests the additional behavior of indexed property delegation.
JavaBeanHandler Invocation handler that supports a dynamic proxy that implements interfaces that follow the JavaBean specification.
MethodHandler This class wires in the support for methods as found through JavaBeans introspection.
MethodHandlerTest This class exercises the delegation mechanism in the DelegateBeanHandler.
PropertyDelegateTest Test that property delegate works as desired.
PropertyExpression Individual properties that make up the parse tree.
PropertyHandlerTest Test case for exercises the PropertyHandler, including failure modes.
PropertyValues The storage class that supports the data bucket behavior for all simple properties of a JavaBean.
ProxyDescriptor Collects the introspection and reflection data for the proxy in one place, where it can be safely shared.
ProxyFactory This is the starting point for working with Navel.
ProxyFactoryTest Test case for exercises the construction and general constraints.
ProxyManipulator Public interface for doing reflection-like dynamic programming of the underlying values of a Navel backed JavaBean.

Enum Summary
PrimitiveSupport A utility class for dealing with properties of primitive types, including arrays of primitives, which can be very tricky to reflect correctly.

Exception Summary
InvalidDelegateException Indicates when a delegate does not have sufficient methods to support the JavaBean methods on an interface.
InvalidExpressionException Indicates when a dot notation expression is problematic for some reason.
InvalidPropertyValueException Thrown when a property value isn't of a valid type for the declared property.
PropertyAccessException Used by BeanManipulator to bubble out unchecked exceptions thrown when accessing properties via reflection.
UnsupportedFeatureException Thrown when the bean handler in question doesn't support a particular bean feature.

Annotation Types Summary
CollectionType Older introspection systems may interfere with the Java 5.0 version of JavaBeans, so adding the get(:int) accessor may not be possible.
IgnoreToString Allows the author of the bean interface to indicate fields whose values should be excluded from the generic toString() implementation.