Package jadex.publishservice.publish
Class PathHandler
java.lang.Object
jadex.publishservice.publish.PathHandler
- All Implemented Interfaces:
IPathHandler,IRequestHandler
Main handler dealing with incoming request.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Map<jadex.common.Tuple2<String,String>, jadex.common.Tuple2<String, IRequestHandler>> Published subhandler matching cache.protected Map<jadex.common.Tuple2<String,String>, jadex.common.Tuple2<String, IRequestHandler>> Published subhandlers. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddSubhandler(String vhost, String path, IRequestHandler subhandler) Adds a new subhandler.booleancontainsSubhandlerForExactUri(String vhost, String path) Tests if a handler for the exact URI is currently published.protected jadex.common.Tuple2<String,IRequestHandler> findSubhandler(String host, String path) Locates an appropriate subhandler that matches the requested resource closely.Map<jadex.common.Tuple2<String,String>, jadex.common.Tuple2<String, IRequestHandler>> Get the subhandlers.voidhandleRequest(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Object args) Handle the request.booleanisEmpty()Tests if the handler contains no subhandlers.voidremoveSubhandler(String vhost, String path) Remove a subhandler.
-
Field Details
-
subhandlers
protected Map<jadex.common.Tuple2<String,String>, subhandlersjadex.common.Tuple2<String, IRequestHandler>> Published subhandlers. vhost+path -> path+httphandler Path needs to be preserved in the value since the cache does not preserve it. -
subhandlercache
protected Map<jadex.common.Tuple2<String,String>, subhandlercachejadex.common.Tuple2<String, IRequestHandler>> Published subhandler matching cache. Adds already resolved handlers for requested paths.
-
-
Constructor Details
-
PathHandler
public PathHandler()Create the handler.
-
-
Method Details
-
handleRequest
public void handleRequest(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, Object args) throws Exception Handle the request.- Specified by:
handleRequestin interfaceIRequestHandler- Parameters:
request- The request.response- The response.args- Container specific args.- Throws:
Exception
-
addSubhandler
Adds a new subhandler.- Specified by:
addSubhandlerin interfaceIPathHandler- Parameters:
vhost- Virtual host specification.path- Path being handled.subhandler- The subhandler.
-
containsSubhandlerForExactUri
Tests if a handler for the exact URI is currently published.- Specified by:
containsSubhandlerForExactUriin interfaceIPathHandler- Parameters:
vhost- Virtual host specification.path- Path being handled.- Returns:
- True, if a handler was found.
-
isEmpty
public boolean isEmpty()Tests if the handler contains no subhandlers.- Returns:
- True, if no subhandlers remain.
-
removeSubhandler
Remove a subhandler.- Specified by:
removeSubhandlerin interfaceIPathHandler- Parameters:
vhost- Virtual host specification.path- Path being handled.
-
findSubhandler
Locates an appropriate subhandler that matches the requested resource closely.- Parameters:
host- The requested virtual host.path- The requested path- Returns:
- The subhandler or null if none is found for the host.
-
getSubhandlers
public Map<jadex.common.Tuple2<String,String>, getSubhandlers()jadex.common.Tuple2<String, IRequestHandler>> Get the subhandlers.- Specified by:
getSubhandlersin interfaceIPathHandler- Returns:
- The subhandlers
-