public class ControllerHandler extends java.lang.Object implements RouteHandler
RouteHandler that executes the controller's methods.
You can customize ContentTypeEngines, ControllerFactory, MethodParameterExtractors.
By default, the MethodParameterExtractors are obtained via ServiceLoader.
DefaultControllerFactory is used if a custom ControllerFactory is not supplied
via ControllerHandler::setControllerFactory.| Constructor and Description |
|---|
ControllerHandler(ContentTypeEngines contentTypeEngines,
java.lang.reflect.Method controllerMethod) |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
canConsume(RouteContext routeContext)
Determines if the incoming request is sending content this route understands.
|
protected Controller |
getController() |
ControllerFactory |
getControllerFactory() |
java.util.List<MethodParameterExtractor> |
getMethodParameterExtractors() |
void |
handle(RouteContext routeContext) |
protected void |
handleDeclaredThrownException(java.lang.Exception e,
RouteContext routeContext) |
protected void |
initExtractors()
Init extractors from controller method.
|
protected void |
initInterceptors()
Init interceptors from controller method.
|
protected java.lang.Object[] |
prepareMethodParameters(RouteContext routeContext) |
protected void |
processRouteInterceptors(RouteContext routeContext) |
protected void |
setController(Controller controller) |
ControllerHandler |
setControllerFactory(ControllerFactory controllerFactory) |
ControllerHandler |
setMethodParameterExtractors(java.util.List<MethodParameterExtractor> extractors) |
protected void |
specifyCacheControls(RouteContext routeContext)
Specify Response cache controls.
|
protected void |
specifyContentType(RouteContext routeContext)
Specify the Response content-type by...
|
protected void |
validateConsumes(java.util.Collection<java.lang.String> contentTypes)
Validates that the declared consumes can actually be processed by Pippo.
|
protected void |
validateProduces(java.util.Collection<java.lang.String> contentTypes)
Validates that the declared content-types can actually be generated by Pippo.
|
public ControllerHandler(ContentTypeEngines contentTypeEngines, java.lang.reflect.Method controllerMethod)
public void handle(RouteContext routeContext)
handle in interface RouteHandlerpublic java.util.List<MethodParameterExtractor> getMethodParameterExtractors()
public ControllerHandler setMethodParameterExtractors(java.util.List<MethodParameterExtractor> extractors)
public ControllerFactory getControllerFactory()
public ControllerHandler setControllerFactory(ControllerFactory controllerFactory)
protected Controller getController()
protected void setController(Controller controller)
protected void initInterceptors()
protected void initExtractors()
protected void validateConsumes(java.util.Collection<java.lang.String> contentTypes)
contentTypes - protected void validateProduces(java.util.Collection<java.lang.String> contentTypes)
contentTypes - protected boolean canConsume(RouteContext routeContext)
routeContext - protected void processRouteInterceptors(RouteContext routeContext)
protected java.lang.Object[] prepareMethodParameters(RouteContext routeContext)
protected void specifyCacheControls(RouteContext routeContext)
routeContext - protected void specifyContentType(RouteContext routeContext)
routeContext - protected void handleDeclaredThrownException(java.lang.Exception e,
RouteContext routeContext)
Copyright © 2023. All rights reserved.