Package org.apache.tapestry5.ioc
Interface OperationTracker
- All Known Subinterfaces:
ComponentPageElementResources
,InternalRegistry
- All Known Implementing Classes:
ComponentPageElementResourcesImpl
,OperationTrackerImpl
,PerThreadOperationTracker
,QuietOperationTracker
,RegistryImpl
public interface OperationTracker
Used to track some set of operations in such a way that a failure (a thrown RuntimeException) will be logged along
with a trace of the stack of operations.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic @interface
Annotation to be be used in exception classes whose instances are not meant to be logged in OperationTracker. -
Method Summary
Modifier and TypeMethodDescription<T> T
As withrun(String, Runnable)
, but the operation may return a value.<T> T
perform
(String description, IOOperation<T> operation) As withinvoke(String, Invokable)
, but the operation may throw anIOException
.void
Executes the operation.
-
Method Details
-
run
Executes the operation. If the operation throws aRuntimeException
it will be logged and rethrown wrapped as aOperationException
.- Parameters:
description
- used if there is an exceptionoperation
- to execute
-
invoke
As withrun(String, Runnable)
, but the operation may return a value.- Parameters:
description
- used if there is an exceptionoperation
- to invoke- Returns:
- result of operation
-
perform
As withinvoke(String, Invokable)
, but the operation may throw anIOException
.- Parameters:
description
- used if there is an exception (outside of IOException)operation
- to perform- Returns:
- result of operation
- Throws:
IOException
- Since:
- 5.4
-