Class ScopedWorkException
java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
org.osgi.service.transaction.control.ScopedWorkException
- All Implemented Interfaces:
Serializable
An Exception that is thrown when a piece of scoped work exits with an
Exception.
If the scope was inherited and therefore is still active when this exception
is raised then the current TransactionContext will be available from
the ongoingContext() method.
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionScopedWorkException(String message, Throwable cause, TransactionContext context) Creates a new TransactionException with the supplied message and cause -
Method Summary
Modifier and TypeMethodDescription<T extends Throwable>
TThrows the cause of this Exception as a RuntimeException the supplied Exception type.<A extends Throwable,B extends Throwable>
RuntimeExceptionThrows the cause of this Exception as a RuntimeException or one of the supplied Exception types.<A extends Throwable,B extends Throwable, C extends Throwable>
RuntimeExceptionThrows the cause of this Exception as a RuntimeException or one of the supplied Exception types.<A extends Throwable,B extends Throwable, C extends Throwable, D extends Throwable>
RuntimeExceptionThrows the cause of this Exception as a RuntimeException or one of the supplied Exception types.Methods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
-
Constructor Details
-
ScopedWorkException
Creates a new TransactionException with the supplied message and cause- Parameters:
message-cause-context-
-
-
Method Details
-
ongoingContext
- Returns:
- The ongoing transaction context if the current scope was still
active when this exception was raised or
nullotherwise. Note that this property will not be persisted during serialization.
-
asRuntimeException
- Returns:
- The cause of this Exception as a
RuntimeExceptionif it is one, or this otherwise
-
as
Throws the cause of this Exception as a RuntimeException the supplied Exception type.Usage is of the form:
public void doStuff() throws IOException { try { ... } catch (ScopedWorkException swe) { throw swe.as(IOException.class); } }- Parameters:
throwable-- Returns:
- This method will always throw an exception
- Throws:
T
-
asOneOf
public <A extends Throwable,B extends Throwable> RuntimeException asOneOf(Class<A> a, Class<B> b) throws A, B Throws the cause of this Exception as a RuntimeException or one of the supplied Exception types.Usage is of the form:
public void doStuff() throws IOException, ClassNotFoundException { try { ... } catch (ScopedWorkException swe) { throw swe.asOneOf(IOException.class, ClassNotFoundException.class); } }- Parameters:
a-b-- Returns:
- This method will always throw an exception
- Throws:
AB
-
asOneOf
public <A extends Throwable,B extends Throwable, RuntimeException asOneOfC extends Throwable> (Class<A> a, Class<B> b, Class<C> c) throws A, B, C Throws the cause of this Exception as a RuntimeException or one of the supplied Exception types.- Parameters:
a-b-c-- Returns:
- This method will always throw an exception
- Throws:
ABC extends Throwable- See Also:
-
asOneOf
public <A extends Throwable,B extends Throwable, RuntimeException asOneOfC extends Throwable, D extends Throwable> (Class<A> a, Class<B> b, Class<C> c, Class<D> d) throws A, B, C, D Throws the cause of this Exception as a RuntimeException or one of the supplied Exception types.- Parameters:
a-b-c-d-- Returns:
- This method will always throw an exception
- Throws:
ABCD- See Also:
-