Package fr.igred.omero.exception
Class ExceptionHandler<T>
java.lang.Object
fr.igred.omero.exception.ExceptionHandler<T>
Class to handle and convert OMERO exceptions.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceExceptionHandler.ExceptionWrapper<T,E extends Throwable> static interfaceExceptionHandler.ThrowingConsumer<T,E extends Throwable> static interfaceExceptionHandler.ThrowingFunction<T,R, E extends Throwable> -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedExceptionHandler(T value, Exception exception) Private class constructor. -
Method Summary
Modifier and TypeMethodDescriptionget()Returns the contained object.handleException(String message) Deprecated.static voidhandleException(Throwable t, String message) Deprecated.Helper method to convert an exception from: DSAccessException to AccessException DSOutOfServiceException to ServiceException ServerError to OMEROServerErrorhandleOMEROException(String message) Throws:AccessExceptionifDSAccessExceptionwas caughtServiceExceptionifDSOutOfServiceExceptionwas caught The appropriate exception ifServerErrorwas caught (seehandleOMEROException(java.lang.Throwable, java.lang.String))static voidhandleOMEROException(Throwable throwable, String message) Checks the cause of an exception on OMERO and throws:ServiceExceptionif the cause was:SessionExceptionAuthenticationExceptionResourceErrorAccessExceptionif the cause was:SecurityViolationAnything elsehandleServerAndService(String message) Checks if a ServerError or a DSOutOfService was thrown and handles the exception according to the cause.handleServiceOrAccess(String message) Deprecated.Throws:ServiceExceptionifDSOutOfServiceExceptionwas caughtAccessExceptionifDSAccessExceptionwas caughtstatic voidhandleServiceOrAccess(Throwable t, String message) Deprecated.Helper method to convert an exception from: DSOutOfServiceException to ServiceException DSAccessException to AccessExceptionhandleServiceOrServer(String message) Deprecated.Throws:ServiceExceptionifDSOutOfServiceExceptionwas caughtOMEROServerErrorifServerErrorwas caughtstatic voidhandleServiceOrServer(Throwable t, String message) Deprecated.Helper method to convert an exception from: DSOutOfServiceException to ServiceException ServerError to OMEROServerErrorstatic <I,R> ExceptionHandler<R> of(I input, ExceptionHandler.ThrowingFunction<? super I, ? extends R, ? extends Exception> mapper) Creates an ExceptionHandler from an object and a function.static <I> ExceptionHandler<I>ofConsumer(I input, ExceptionHandler.ThrowingConsumer<? super I, ? extends Exception> consumer) Creates an ExceptionHandler from an object and a function with no return value.voidrethrow()Rethrows exception if one was caught (to not swallow it).<E extends Throwable>
ExceptionHandler<T>Throws an exception from the specified type, if one was caught.<E extends Throwable,F extends Throwable>
ExceptionHandler<T>rethrow(Class<E> type, ExceptionHandler.ExceptionWrapper<? super E, ? extends F> mapper, String message) Throws an exception converted from the specified type, if one was caught.toString()
-
Constructor Details
-
ExceptionHandler
Private class constructor.- Parameters:
value- Object to process.exception- Caught exception.
-
-
Method Details
-
handleServiceOrServer
@Deprecated public static void handleServiceOrServer(Throwable t, String message) throws ServiceException, OMEROServerError Deprecated.Helper method to convert an exception from:- DSOutOfServiceException to ServiceException
- ServerError to OMEROServerError
- Parameters:
t- The Exceptionmessage- Short explanation of the problem.- Throws:
ServiceException- Cannot connect to OMERO.OMEROServerError- Server error.
-
handleServiceOrAccess
@Deprecated public static void handleServiceOrAccess(Throwable t, String message) throws ServiceException, AccessException Deprecated.Helper method to convert an exception from:- DSOutOfServiceException to ServiceException
- DSAccessException to AccessException
- Parameters:
t- The Exceptionmessage- Short explanation of the problem.- Throws:
ServiceException- Cannot connect to OMERO.AccessException- Cannot access data.
-
handleException
@Deprecated public static void handleException(Throwable t, String message) throws ServiceException, AccessException, OMEROServerError Deprecated.Helper method to convert an exception from:- DSAccessException to AccessException
- DSOutOfServiceException to ServiceException
- ServerError to OMEROServerError
- Parameters:
t- The Exceptionmessage- Short explanation of the problem.- Throws:
AccessException- Cannot access data.OMEROServerError- Server error.ServiceException- Cannot connect to OMERO.
-
of
public static <I,R> ExceptionHandler<R> of(I input, ExceptionHandler.ThrowingFunction<? super I, ? extends R, ? extends Exception> mapper) Creates an ExceptionHandler from an object and a function.- Type Parameters:
I- Input argument type.R- Returned object type.- Parameters:
input- Object to process.mapper- Lambda to apply on object.- Returns:
- ExceptionHandler wrapping the returned object.
-
ofConsumer
public static <I> ExceptionHandler<I> ofConsumer(I input, ExceptionHandler.ThrowingConsumer<? super I, ? extends Exception> consumer) Creates an ExceptionHandler from an object and a function with no return value.- Type Parameters:
I- Input argument type.- Parameters:
input- Object to process.consumer- Lambda to apply on object.- Returns:
- ExceptionHandler wrapping the object to process.
-
handleOMEROException
public static void handleOMEROException(Throwable throwable, String message) throws ServiceException, AccessException Checks the cause of an exception on OMERO and throws:-
ServiceExceptionif the cause was: -
AccessExceptionif the cause was:SecurityViolation- Anything else
See
Facility.handleException(java.lang.Object, java.lang.Throwable, java.lang.String)- Parameters:
throwable- The exception.message- Error message.- Throws:
ServiceException- Cannot connect to OMERO.AccessException- Cannot access data.
-
-
rethrow
Throws an exception from the specified type, if one was caught.- Type Parameters:
E- The type of the exception.- Parameters:
type- The exception class.- Returns:
- The same ExceptionHandler.
- Throws:
E- An exception from the specified type.
-
rethrow
public <E extends Throwable,F extends Throwable> ExceptionHandler<T> rethrow(Class<E> type, ExceptionHandler.ExceptionWrapper<? super E, ? extends F> mapper, String message) throws FThrows an exception converted from the specified type, if one was caught.- Type Parameters:
E- The type of the exception.F- The type of the exception thrown.- Parameters:
type- The exception class.mapper- Lambda to convert the caught exception.message- Error message.- Returns:
- The same ExceptionHandler.
- Throws:
F- A converted Exception.
-
handleServerAndService
public ExceptionHandler<T> handleServerAndService(String message) throws ServiceException, AccessException Checks if a ServerError or a DSOutOfService was thrown and handles the exception according to the cause.- Parameters:
message- Error message.- Returns:
- The same ExceptionHandler.
- Throws:
ServiceException- Cannot connect to OMERO.AccessException- Cannot access data.
-
handleServiceOrServer
@Deprecated public ExceptionHandler<T> handleServiceOrServer(String message) throws ServiceException, OMEROServerError Deprecated.Throws:ServiceExceptionifDSOutOfServiceExceptionwas caughtOMEROServerErrorifServerErrorwas caught
- Parameters:
message- Error message.- Returns:
- The same ExceptionHandler.
- Throws:
ServiceException- Cannot connect to OMERO.OMEROServerError- Server error.
-
handleServiceOrAccess
@Deprecated public ExceptionHandler<T> handleServiceOrAccess(String message) throws ServiceException, AccessException Deprecated.Throws:ServiceExceptionifDSOutOfServiceExceptionwas caughtAccessExceptionifDSAccessExceptionwas caught
- Parameters:
message- Error message.- Returns:
- The same ExceptionHandler.
- Throws:
ServiceException- Cannot connect to OMERO.AccessException- Cannot access data.
-
handleException
@Deprecated public ExceptionHandler<T> handleException(String message) throws ServiceException, AccessException, OMEROServerError Deprecated.Throws:AccessExceptionifDSAccessExceptionwas caughtServiceExceptionifDSOutOfServiceExceptionwas caught- The appropriate exception if
ServerErrorwas caught (seehandleOMEROException(java.lang.Throwable, java.lang.String))
- Parameters:
message- Error message.- Returns:
- The same ExceptionHandler.
- Throws:
AccessException- Cannot access data.OMEROServerError- Server error.ServiceException- Cannot connect to OMERO.
-
handleOMEROException
public ExceptionHandler<T> handleOMEROException(String message) throws ServiceException, AccessException Throws:AccessExceptionifDSAccessExceptionwas caughtServiceExceptionifDSOutOfServiceExceptionwas caught- The appropriate exception if
ServerErrorwas caught (seehandleOMEROException(java.lang.Throwable, java.lang.String))
- Parameters:
message- Error message.- Returns:
- The same ExceptionHandler.
- Throws:
AccessException- Cannot access data.ServiceException- Cannot connect to OMERO.
-
rethrow
public void rethrow()Rethrows exception if one was caught (to not swallow it). -
get
Returns the contained object.- Returns:
- See above.
-
toString
-
AccessExceptionifDSAccessExceptionwas caughtServiceExceptionifDSOutOfServiceExceptionwas caught The appropriate exception ifServerErrorwas caught (seehandleOMEROException(java.lang.Throwable, java.lang.String))