Class ThrowSaved<T>

java.lang.Object
org.picocontainer.behaviors.AbstractBehavior<T>
com.atlassian.jira.component.pico.throwsafe.ThrowSaved<T>
All Implemented Interfaces:
Serializable, org.picocontainer.Behavior<T>, org.picocontainer.ComponentAdapter<T>, org.picocontainer.ComponentLifecycle<T>, org.picocontainer.ComponentMonitorStrategy, org.picocontainer.LifecycleStrategy

public class ThrowSaved<T> extends org.picocontainer.behaviors.AbstractBehavior<T>
This behavior extension makes is possible to execute bean methods without exception risk. This is meant only for special purpose, when executed method do extra work which can be sacrificed for the good of main work eg. auditing, logging...

Implementation uses basic and primitive dynamic proxy but is quite useful :)

http://picocontainer.com/behaviors.html http://picocontainer.com/adapters.html

Since:
v8.7
See Also:
  • Nested Class Summary

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

    org.picocontainer.ComponentAdapter.NOTHING
  • Field Summary

    Fields inherited from class org.picocontainer.behaviors.AbstractBehavior

    delegate
  • Constructor Summary

    Constructors
    Constructor
    Description
    ThrowSaved(org.picocontainer.ComponentAdapter<T> componentAdapter, ThrowSafeWith throwSafeWith)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    getComponentInstance(org.picocontainer.PicoContainer container, Type into)
     
     

    Methods inherited from class org.picocontainer.behaviors.AbstractBehavior

    accept, changeMonitor, componentHasLifecycle, currentMonitor, dispose, dispose, findAdapterOfType, getComponentImplementation, getComponentInstance, getComponentKey, getDelegate, hasLifecycle, isLazy, 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 Details

    • ThrowSaved

      public ThrowSaved(@Nonnull org.picocontainer.ComponentAdapter<T> componentAdapter, @Nonnull ThrowSafeWith throwSafeWith)
  • Method Details

    • getComponentInstance

      public T getComponentInstance(org.picocontainer.PicoContainer container, Type into) throws org.picocontainer.PicoCompositionException
      Specified by:
      getComponentInstance in interface org.picocontainer.ComponentAdapter<T>
      Overrides:
      getComponentInstance in class org.picocontainer.behaviors.AbstractBehavior<T>
      Throws:
      org.picocontainer.PicoCompositionException
    • getDescriptor

      public String getDescriptor()