Package org.restlet.service
Class StatusService
java.lang.Object
org.restlet.service.Service
org.restlet.service.StatusService
Service to handle error statuses. If an exception is thrown within your
application or Restlet code, it will be intercepted by this service if it is
enabled.
When an exception or an error is caught, the
Also, when the status of a response returned is an error status (see
If you want to customize the default behavior, you need to create a subclass of StatusService that overrides some or all of the methods mentioned above. Then, just create a instance of your class and set it on your Component or Application via the setStatusService() methods.
In case the response's entity has already been set, the status service does not generate an error representation. You can turn off this default behavior by calling the
When an exception or an error is caught, the
#getStatus(Throwable, Request, Response) method is first invoked to
obtain the status that you want to set on the response. If this method isn't
overridden or returns null, the Status.SERVER_ERROR_INTERNAL constant
will be set by default.Also, when the status of a response returned is an error status (see
Status.isError(), the
#getRepresentation(Status, Request, Response) method is then invoked
to give your service a chance to override the default error page.If you want to customize the default behavior, you need to create a subclass of StatusService that overrides some or all of the methods mentioned above. Then, just create a instance of your class and set it on your Component or Application via the setStatusService() methods.
In case the response's entity has already been set, the status service does not generate an error representation. You can turn off this default behavior by calling the
setOverwriting(boolean) method.- Author:
- Jerome Louvel
-
Constructor Summary
ConstructorsConstructorDescriptionConstructor.StatusService(boolean enabled) Constructor.StatusService(boolean enabled, ConverterService converterService, MetadataService metadataService, ConnegService connegService) Constructor. -
Method Summary
Modifier and TypeMethodDescriptioncreateInboundFilter(Context context) Create the filter that should be invoked for incoming calls.Returns the service used to select the preferred variant.Returns the email address to contact in case of error.Returns the service used to convert between status/throwable and representation.Returns the home URI to propose in case of error.Returns the service used to select the preferred variant.booleanIndicates if an existing entity should be overwritten.voidsetConnegService(ConnegService connegService) Sets the service used to select the preferred variant.voidsetContactEmail(String contactEmail) Sets the email address to contact in case of error.voidsetConverterService(ConverterService converterService) Sets the service used to convert between status/throwable and representation.voidsetHomeRef(Reference homeRef) Sets the home URI to propose in case of error.voidsetMetadataService(MetadataService metadataService) Sets the service used to select the preferred variant.voidsetOverwriting(boolean overwriting) Indicates if an existing entity should be overwritten.toRepresentation(Status status, Request request, Response response) Returns a representation for the given status.toRepresentation(Status status, Resource resource) Returns a representation for the given status.
In order to customize the default representation, this method can be overridden.Returns a status for a given exception or error.Returns a status for a given exception or error.Methods inherited from class org.restlet.service.Service
createOutboundFilter, getContext, isEnabled, isStarted, isStopped, setContext, setEnabled, start, stop
-
Constructor Details
-
StatusService
public StatusService()Constructor. By default, it creates the necessary services. -
StatusService
public StatusService(boolean enabled) Constructor. By default, it creates the necessary services.- Parameters:
enabled- True if the service has been enabled.
-
StatusService
public StatusService(boolean enabled, ConverterService converterService, MetadataService metadataService, ConnegService connegService) Constructor.- Parameters:
enabled- True if the service has been enabled.converterService- The service used to convert between status/throwable and representation.metadataService- The service used to select the preferred variant.connegService- The service used to select the preferred variant.
-
-
Method Details
-
createInboundFilter
Description copied from class:ServiceCreate the filter that should be invoked for incoming calls.- Overrides:
createInboundFilterin classService- Parameters:
context- The current context.- Returns:
- The new filter or null.
-
getConnegService
Returns the service used to select the preferred variant.- Returns:
- The service used to select the preferred variant.
-
getContactEmail
Returns the email address to contact in case of error. This is typically used when creating the status representations.- Returns:
- The email address to contact in case of error.
-
getConverterService
Returns the service used to convert between status/throwable and representation.- Returns:
- The service used to convert between status/throwable and representation.
-
getHomeRef
Returns the home URI to propose in case of error.- Returns:
- The home URI to propose in case of error.
-
getMetadataService
Returns the service used to select the preferred variant.- Returns:
- The service used to select the preferred variant.
-
isOverwriting
public boolean isOverwriting()Indicates if an existing entity should be overwritten. False by default.- Returns:
- True if an existing entity should be overwritten.
-
setConnegService
Sets the service used to select the preferred variant.- Parameters:
connegService- The service used to select the preferred variant.
-
setContactEmail
Sets the email address to contact in case of error. This is typically used when creating the status representations.- Parameters:
contactEmail- The email address to contact in case of error.
-
setConverterService
Sets the service used to convert between status/throwable and representation.- Parameters:
converterService- The service used to convert between status/throwable and representation.
-
setHomeRef
Sets the home URI to propose in case of error.- Parameters:
homeRef- The home URI to propose in case of error.
-
setMetadataService
Sets the service used to select the preferred variant.- Parameters:
metadataService- The service used to select the preferred variant.
-
setOverwriting
public void setOverwriting(boolean overwriting) Indicates if an existing entity should be overwritten.- Parameters:
overwriting- True if an existing entity should be overwritten.
-
toRepresentation
Returns a representation for the given status. In order to customize the default representation, this method can be overridden. It returns aStatusrepresentation by default or aThrowablerepresentation if the throwable is annotated withStatus.- Parameters:
status- The status to represent.request- The request handled.response- The response updated.- Returns:
- The representation of the given status.
-
toRepresentation
Returns a representation for the given status.
In order to customize the default representation, this method can be overridden. By default, it invokestoRepresentation(Status, Request, Response)- Parameters:
status- The status to represent.resource- The parent resource.- Returns:
- The representation of the given status.
-
toStatus
Returns a status for a given exception or error. By default it unwraps the status ofResourceException. For other exceptions or errors, it returns anStatus.SERVER_ERROR_INTERNALstatus.
In order to customize the default behavior, this method can be overridden.- Parameters:
throwable- The exception or error caught.request- The request handled.response- The response updated.- Returns:
- The representation of the given status.
-
toStatus
Returns a status for a given exception or error. By default it returns anStatus.SERVER_ERROR_INTERNALstatus and logs a severe message.
In order to customize the default behavior, this method can be overridden.- Parameters:
throwable- The exception or error caught.resource- The parent resource.- Returns:
- The representation of the given status.
-