org.picocontainer.defaults
Class ImplementationHidingComponentAdapterFactory

java.lang.Object
  extended by org.picocontainer.defaults.MonitoringComponentAdapterFactory
      extended by org.picocontainer.defaults.DecoratingComponentAdapterFactory
          extended by org.picocontainer.defaults.ImplementationHidingComponentAdapterFactory
All Implemented Interfaces:
java.io.Serializable, ComponentAdapterFactory, ComponentMonitorStrategy
Direct Known Subclasses:
ImplementationHidingComponentAdapterFactory

public class ImplementationHidingComponentAdapterFactory
extends DecoratingComponentAdapterFactory

Since:
1.2, moved from package org.picocontainer.alternatives
Author:
Aslak Hellesøy
See Also:
for a more feature-rich version of the class, Serialized Form

Field Summary
private  boolean strict
           
 
Constructor Summary
ImplementationHidingComponentAdapterFactory()
          For serialisation only.
ImplementationHidingComponentAdapterFactory(ComponentAdapterFactory delegate)
           
ImplementationHidingComponentAdapterFactory(ComponentAdapterFactory delegate, boolean strict)
           
 
Method Summary
 ComponentAdapter createComponentAdapter(java.lang.Object componentKey, java.lang.Class componentImplementation, Parameter[] parameters)
          Create a new component adapter based on the specified arguments.
 
Methods inherited from class org.picocontainer.defaults.MonitoringComponentAdapterFactory
changeMonitor, currentMonitor
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

strict

private final boolean strict
Constructor Detail

ImplementationHidingComponentAdapterFactory

public ImplementationHidingComponentAdapterFactory()
For serialisation only. Do not use this constructor explicitly.


ImplementationHidingComponentAdapterFactory

public ImplementationHidingComponentAdapterFactory(ComponentAdapterFactory delegate,
                                                   boolean strict)

ImplementationHidingComponentAdapterFactory

public ImplementationHidingComponentAdapterFactory(ComponentAdapterFactory delegate)
Method Detail

createComponentAdapter

public ComponentAdapter createComponentAdapter(java.lang.Object componentKey,
                                               java.lang.Class componentImplementation,
                                               Parameter[] parameters)
                                        throws PicoIntrospectionException,
                                               AssignabilityRegistrationException,
                                               NotConcreteRegistrationException
Description copied from interface: ComponentAdapterFactory
Create a new component adapter based on the specified arguments.

Specified by:
createComponentAdapter in interface ComponentAdapterFactory
Overrides:
createComponentAdapter in class DecoratingComponentAdapterFactory
Parameters:
componentKey - the key to be associated with this adapter. This value should be returned from a call to ComponentAdapter.getComponentKey() on the created adapter.
componentImplementation - the implementation class to be associated with this adapter. This value should be returned from a call to ComponentAdapter.getComponentImplementation() on the created adapter. Should not be null.
parameters - additional parameters to use by the component adapter in constructing component instances. These may be used, for example, to make decisions about the arguments passed into the component constructor. These should be considered hints; they may be ignored by some implementations. May be null, and may be of zero length.
Returns:
a new component adapter based on the specified arguments. Should not return null.
Throws:
PicoIntrospectionException - if the creation of the component adapter results in a PicoIntrospectionException.
AssignabilityRegistrationException - if the creation of the component adapter results in a AssignabilityRegistrationException.
NotConcreteRegistrationException - if the creation of the component adapter results in a NotConcreteRegistrationException.