/** {@inheritDoc} **/ public Behavior newBehavior(Behavior behavior) { return delegate.newBehavior(behavior); }
/** {@inheritDoc} **/ public Behavior newBehavior(Behavior behavior) { return delegate.newBehavior(behavior); }
/** {@inheritDoc} **/ public Behavior newBehavior(Behavior behavior) { return delegate.newBehavior(behavior); }
public class JobEnabledDecorating extends AbstractBehaviorFactory { @Override public ComponentAdapter createComponentAdapter( final ComponentMonitor componentMonitor, final LifecycleStrategy lifecycleStrategy, final Properties componentProperties, final Object componentKey, final Class componentImplementation, final Parameter... parameters) throws PicoCompositionException { return componentMonitor.newBehavior( new JobEnabledDecorated( super.createComponentAdapter( componentMonitor, lifecycleStrategy, componentProperties, componentKey, componentImplementation, parameters ) ) ); } }
@Override public ComponentAdapter addComponentAdapter(final ComponentMonitor componentMonitor, final LifecycleStrategy lifecycleStrategy, final Properties componentProperties, final ComponentAdapter adapter) { return componentMonitor.newBehavior(new Assimilated(assimilationType, super.addComponentAdapter(componentMonitor, lifecycleStrategy, componentProperties, adapter))); } }
/** * Create a {@link Assimilated}. This adapter will wrap the returned {@link ComponentAdapter} of the * deleated {@link ComponentFactory}. * * @see ComponentFactory#createComponentAdapter(ComponentMonitor,LifecycleStrategy,Properties,Object,Class,Parameter...) */ @Override public ComponentAdapter createComponentAdapter( final ComponentMonitor componentMonitor, final LifecycleStrategy lifecycleStrategy, final Properties componentProperties, final Object componentKey, final Class componentImplementation, final Parameter... parameters) throws PicoCompositionException { return componentMonitor.newBehavior(new Assimilated(assimilationType, super.createComponentAdapter( componentMonitor, lifecycleStrategy, componentProperties, componentKey, componentImplementation, parameters), proxyFactory)); }
@Override public ComponentAdapter addComponentAdapter(final ComponentMonitor componentMonitor, final LifecycleStrategy lifecycleStrategy, final Properties componentProperties, final ComponentAdapter adapter) { if (ensureThreadLocal) { return componentMonitor.newBehavior(new ThreadLocalized(super.addComponentAdapter(componentMonitor, lifecycleStrategy, componentProperties, adapter), proxyFactory)); } else { return componentMonitor.newBehavior(new Cached(super.addComponentAdapter(componentMonitor, lifecycleStrategy, componentProperties, adapter), new ThreadLocalReference())); } } }
@Override public <T> ComponentAdapter<T> createComponentAdapter(final ComponentMonitor componentMonitor, final LifecycleStrategy lifecycleStrategy, final Properties componentProperties, final Object componentKey, final Class<T> componentImplementation, final Parameter... parameters) throws PicoCompositionException { ComponentAdapter<T> delegateAdapter = super.createComponentAdapter(componentMonitor, lifecycleStrategy, componentProperties, componentKey, componentImplementation, parameters); if (AbstractBehaviorFactory.removePropertiesIfPresent(componentProperties, GemsCharacteristics.NO_HOT_SWAP)) { return delegateAdapter; } AbstractBehaviorFactory.removePropertiesIfPresent(componentProperties, GemsCharacteristics.HOT_SWAP); return componentMonitor.newBehavior(new HotSwappable<T>(delegateAdapter)); }
@Override public ComponentAdapter createComponentAdapter(final ComponentMonitor componentMonitor, final LifecycleStrategy lifecycleStrategy, final Properties componentProperties, final Object componentKey, final Class componentImplementation, final Parameter... parameters) throws PicoCompositionException { ComponentAdapter delegate = super.createComponentAdapter(componentMonitor, lifecycleStrategy, componentProperties, componentKey, componentImplementation, parameters); if (AbstractBehaviorFactory.removePropertiesIfPresent(componentProperties, GemsCharacteristics.NO_POOL)) { return delegate; } AbstractBehaviorFactory.removePropertiesIfPresent(componentProperties, GemsCharacteristics.POOL); Pooled behavior = new Pooled(delegate, poolContext); //TODO //Characteristics.HIDE.setProcessedIn(componentCharacteristics); return componentMonitor.newBehavior(behavior); }
@Override public <T> ComponentAdapter<T> addComponentAdapter(final ComponentMonitor componentMonitor, final LifecycleStrategy lifecycleStrategy, final Properties componentProperties, final ComponentAdapter<T> adapter) { if (AbstractBehaviorFactory.removePropertiesIfPresent(componentProperties, GemsCharacteristics.NO_JMX)) { return super.addComponentAdapter(componentMonitor, lifecycleStrategy, componentProperties, adapter); } else { return componentMonitor.newBehavior(new JMXExposed<T>(super.addComponentAdapter(componentMonitor, lifecycleStrategy, componentProperties, adapter), mBeanServer, providers)); } } }
/** * Retrieve a {@link ComponentAdapter}. Wrap the instance retrieved by the delegate with an instance of a * {@link JMXExposed}. * @see org.picocontainer.ComponentFactory#createComponentAdapter(ComponentMonitor,LifecycleStrategy,Properties,Object,Class,Parameter...) */ @Override public <T> ComponentAdapter<T> createComponentAdapter( final ComponentMonitor componentMonitor, final LifecycleStrategy lifecycleStrategy, final Properties componentProperties, final Object componentKey, final Class<T> componentImplementation, final Parameter... parameters) throws PicoCompositionException { final ComponentAdapter<T> delegateAdapter = super.createComponentAdapter( componentMonitor, lifecycleStrategy, componentProperties, componentKey, componentImplementation, parameters); if (AbstractBehaviorFactory.removePropertiesIfPresent(componentProperties, GemsCharacteristics.NO_JMX)) { return delegateAdapter; } else { AbstractBehaviorFactory.removePropertiesIfPresent(componentProperties, GemsCharacteristics.JMX); return componentMonitor.newBehavior(new JMXExposed<T>(delegateAdapter, mBeanServer, providers)); } }
@Override public <T> ComponentAdapter<T> addComponentAdapter(final ComponentMonitor componentMonitor, final LifecycleStrategy lifecycleStrategy, final Properties componentProperties, final ComponentAdapter<T> adapter) { if (AbstractBehaviorFactory.removePropertiesIfPresent(componentProperties, GemsCharacteristics.NO_HOT_SWAP)) { return super.addComponentAdapter(componentMonitor, lifecycleStrategy, componentProperties, adapter); } AbstractBehaviorFactory.removePropertiesIfPresent(componentProperties, GemsCharacteristics.HOT_SWAP); return componentMonitor.newBehavior(new HotSwappable<T>(super.addComponentAdapter(componentMonitor, lifecycleStrategy, componentProperties, adapter))); } }
@Override public <T> ComponentAdapter<T> createComponentAdapter(final ComponentMonitor componentMonitor, final LifecycleStrategy lifecycleStrategy, final Properties componentProperties, final Object componentKey, final Class<T> componentImplementation, final Parameter... parameters) throws PicoCompositionException { if (AbstractBehaviorFactory.removePropertiesIfPresent(componentProperties, Characteristics.NO_HIDE_IMPL)) { return super.createComponentAdapter(componentMonitor, lifecycleStrategy, componentProperties, componentKey, componentImplementation, parameters); } AbstractBehaviorFactory.removePropertiesIfPresent(componentProperties, Characteristics.HIDE_IMPL); ComponentAdapter<T> componentAdapter = super.createComponentAdapter(componentMonitor, lifecycleStrategy, componentProperties, componentKey, componentImplementation, parameters); return componentMonitor.newBehavior(new AsmHiddenImplementation<T>(componentAdapter)); }
@Override public ComponentAdapter addComponentAdapter(final ComponentMonitor componentMonitor, final LifecycleStrategy lifecycleStrategy, final Properties componentProperties, final ComponentAdapter adapter) { if (AbstractBehaviorFactory.removePropertiesIfPresent(componentProperties, GemsCharacteristics.NO_POOL)) { return super.addComponentAdapter(componentMonitor, lifecycleStrategy, componentProperties, adapter); } AbstractBehaviorFactory.removePropertiesIfPresent(componentProperties, GemsCharacteristics.POOL); return componentMonitor.newBehavior(new Pooled(super.addComponentAdapter(componentMonitor, lifecycleStrategy, componentProperties, adapter), poolContext)); } }
@Override public <T> ComponentAdapter<T> addComponentAdapter(final ComponentMonitor componentMonitor, final LifecycleStrategy lifecycleStrategy, final Properties componentProperties, final ComponentAdapter<T> adapter) { if (AbstractBehaviorFactory.removePropertiesIfPresent(componentProperties, Characteristics.NO_HIDE_IMPL)) { return super.addComponentAdapter(componentMonitor, lifecycleStrategy, componentProperties, adapter); } AbstractBehaviorFactory.removePropertiesIfPresent(componentProperties, Characteristics.HIDE_IMPL); return componentMonitor.newBehavior(new AsmHiddenImplementation<T>(super.addComponentAdapter(componentMonitor, lifecycleStrategy, componentProperties, adapter))); } }