Package jadex.extension.rs.publish
Class PathHandler
- java.lang.Object
 - 
- jadex.extension.rs.publish.PathHandler
 
 
- 
- All Implemented Interfaces:
 IPathHandler,IRequestHandler
public class PathHandler extends java.lang.Object implements IPathHandler
Main handler dealing with incoming request. 
- 
- 
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<Tuple2<java.lang.String,java.lang.String>,Tuple2<java.lang.String,IRequestHandler>>subhandlercachePublished subhandler matching cache.protected java.util.Map<Tuple2<java.lang.String,java.lang.String>,Tuple2<java.lang.String,IRequestHandler>>subhandlersPublished subhandlers. 
- 
Constructor Summary
Constructors Constructor Description PathHandler()Create the handler. 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddSubhandler(java.lang.String vhost, java.lang.String path, IRequestHandler subhandler)Adds a new subhandler.booleancontainsSubhandlerForExactUri(java.lang.String vhost, java.lang.String path)Tests if a handler for the exact URI is currently published.protected Tuple2<java.lang.String,IRequestHandler>findSubhandler(java.lang.String host, java.lang.String path)Locates an appropriate subhandler that matches the requested resource closely.java.util.Map<Tuple2<java.lang.String,java.lang.String>,Tuple2<java.lang.String,IRequestHandler>>getSubhandlers()Get the subhandlers.voidhandleRequest(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.Object args)Handle the request.booleanisEmpty()Tests if the handler contains no subhandlers.voidremoveSubhandler(java.lang.String vhost, java.lang.String path)Remove a subhandler. 
 - 
 
- 
- 
Field Detail
- 
subhandlers
protected java.util.Map<Tuple2<java.lang.String,java.lang.String>,Tuple2<java.lang.String,IRequestHandler>> subhandlers
Published subhandlers. vhost+path -> path+httphandler Path needs to be preserved in the value since the cache does not preserve it. 
- 
subhandlercache
protected java.util.Map<Tuple2<java.lang.String,java.lang.String>,Tuple2<java.lang.String,IRequestHandler>> subhandlercache
Published subhandler matching cache. Adds already resolved handlers for requested paths. 
 - 
 
- 
Method Detail
- 
handleRequest
public void handleRequest(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.Object args) throws java.lang.ExceptionHandle the request.- Specified by:
 handleRequestin interfaceIRequestHandler- Parameters:
 request- The request.response- The response.args- Container specific args.- Throws:
 java.lang.Exception
 
- 
addSubhandler
public void addSubhandler(java.lang.String vhost, java.lang.String path, IRequestHandler subhandler)Adds a new subhandler.- Specified by:
 addSubhandlerin interfaceIPathHandler- Parameters:
 vhost- Virtual host specification.path- Path being handled.subhandler- The subhandler.
 
- 
containsSubhandlerForExactUri
public boolean containsSubhandlerForExactUri(java.lang.String vhost, java.lang.String path)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
public void removeSubhandler(java.lang.String vhost, java.lang.String path)Remove a subhandler.- Specified by:
 removeSubhandlerin interfaceIPathHandler- Parameters:
 vhost- Virtual host specification.path- Path being handled.
 
- 
findSubhandler
protected Tuple2<java.lang.String,IRequestHandler> findSubhandler(java.lang.String host, java.lang.String path)
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 java.util.Map<Tuple2<java.lang.String,java.lang.String>,Tuple2<java.lang.String,IRequestHandler>> getSubhandlers()
Get the subhandlers.- Specified by:
 getSubhandlersin interfaceIPathHandler- Returns:
 - The subhandlers
 
 
 - 
 
 -