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.picocontainer.behaviors
Class PropertyApplicator<T>

    java.lang.Object
      org.picocontainer.behaviors.AbstractBehavior<T>
          org.picocontainer.behaviors.PropertyApplicator<T>

All Implemented Interfaces:
  Serializable, Behavior<T>, ComponentAdapter<T>, ComponentLifecycle<T>, ComponentMonitorStrategy, LifecycleStrategy

    public class PropertyApplicator<T>

extends AbstractBehavior<T>

Decorating component adapter that can be used to set additional properties on a component in a bean style. These properties must be managed manually by the user of the API, and will not be managed by PicoContainer. This class is therefore not the same as `SetterInjector`, which is a true Setter Injection adapter.

This adapter is mostly handy for setting various primitive properties via setters; it is also able to set javabean properties by discovering an appropriate `PropertyEditor` and using its `setAsText` method.

Note that this class doesn't cache instances. If you want caching, use a `Cached` around this one.

Author:
  Aslak Hellesøy, Mauro Talevi
See Also:
  Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from interface org.picocontainer.ComponentAdapter
`ComponentAdapter.NOTHING`

Field Summary

Fields inherited from class org.picocontainer.behaviors.AbstractBehavior
`delegate`

Constructor Summary
`PropertyApplicator(ComponentAdapter<T> delegate)` Construct a PropertyApplicator.

Method Summary
`static Object` | `convert(String typeName, String value, ClassLoader classLoader)` Converts a String value of a named type to an object.
`T` | `getComponentInstance(PicoContainer container, Type into)` Get a component instance and set given property values.
`String` | `getDescriptor()` Get a string key descriptor of the component adapter.
`void` | `setProperties(Map<String,String> properties)` Sets the bean property values that should be set upon creation.
`void` | `setProperty(String name, String value)`

Methods inherited from class org.picocontainer.behaviors.AbstractBehavior
`accept, changeMonitor, componentHasLifecycle, currentMonitor, dispose, dispose, findAdapterOfType, getComponentImplementation, getComponentInstance, getComponentKey, getDelegate, hasLifecycle, isStarted, start, start, stop, stop, toString, verify`

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

Constructor Detail

### PropertyApplicator

    public PropertyApplicator(ComponentAdapter<T> delegate)
                       throws PicoCompositionException

  Construct a PropertyApplicator.

  Parameters:
    `delegate` - the wrapped `ComponentAdapter`
  Throws:
    `PicoCompositionException`

Method Detail

### getComponentInstance

    public T getComponentInstance(PicoContainer container,
                                  Type into)
                           throws PicoCompositionException

  Get a component instance and set given property values.

  Specified by:
    `getComponentInstance` in interface `ComponentAdapter<T>`
  Overrides:
    `getComponentInstance` in class `AbstractBehavior<T>`
  Parameters:
    `container` - the `PicoContainer`, that is used to resolve any possible dependencies of the instance.
    `into` - the class that is about to be injected into. Use ComponentAdapter.NOTHING.class if this is not important to you.
  Returns:
    the component instance with any properties of the properties map set.
  Throws:
    `PicoCompositionException` - if the component has dependencies which could not be resolved, or instantiation of the component lead to an ambiguous situation within the container.
    `PicoCompositionException` - if the component has dependencies which could not be resolved, or instantiation of the component lead to an ambiguous situation within the container.
    `PicoCompositionException` - if the component has dependencies which could not be resolved, or instantiation of the component lead to an ambiguous situation within the container.
  See Also:
    `setProperties(Map)`

### getDescriptor

    public String getDescriptor()

  Description copied from interface: `ComponentAdapter`
  Get a string key descriptor of the component adapter.

  Returns:

### convert

    public static Object convert(String typeName,
                                 String value,
                                 ClassLoader classLoader)

  Converts a String value of a named type to an object. Works with primitive wrappers, String, File, URL types, or any type that has an appropriate `PropertyEditor`.

  Parameters:
    `typeName` - name of the type
    `value` - its value
    `classLoader` - used to load a class if typeName is "class" or "java.lang.Class" (ignored otherwise)
  Returns:
    instantiated object or null if the type was unknown/unsupported

### setProperties

    public void setProperties(Map<String,String> properties)

  Sets the bean property values that should be set upon creation.

  Parameters:
    `properties` - bean properties

### setProperty

    public void setProperty(String name,
                            String value)

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 © 2003-2009 Codehaus. All Rights Reserved.