|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.restlet.Uniform
org.restlet.Restlet
org.restlet.Router
public class Router
Restlet routing calls to one of the attached routes. Each route can compute
an affinity score for each call depending on various criteria. The attach()
method allow the creation of routes based on URI patterns matching the
beginning of a the resource reference's remaining part.
In addition, several routing modes are supported, implementing various
algorithms:
Field Summary | |
---|---|
static int |
BEST
Each call will be routed to the route with the best score, if the required score is reached. |
static int |
CUSTOM
Each call will be routed according to a custom mode. |
static int |
FIRST
Each call is routed to the first route if the required score is reached. |
static int |
LAST
Each call will be routed to the last route if the required score is reached. |
static int |
NEXT
Each call is be routed to the next route target if the required score is reached. |
static int |
RANDOM
Each call will be randomly routed to one of the routes that reached the required score. |
Constructor Summary | |
---|---|
Router()
Constructor. |
|
Router(Context context)
Constructor. |
Method Summary | |
---|---|
Route |
attach(Restlet target)
Attaches a target Restlet to this router with an empty URI pattern. |
Route |
attach(java.lang.String uriPattern,
java.lang.Class<? extends Resource> targetClass)
Attaches a target Resource class to this router based on a given URI pattern. |
Route |
attach(java.lang.String uriPattern,
Restlet target)
Attaches a target Restlet to this router based on a given URI pattern. |
Route |
attachDefault(java.lang.Class<? extends Resource> defaultTargetClass)
Attaches a Resource class to this router as the default target to invoke when no route matches. |
Route |
attachDefault(Restlet defaultTarget)
Attaches a Restlet to this router as the default target to invoke when no route matches. |
protected Finder |
createFinder(java.lang.Class<? extends Resource> targetClass)
Creates a new finder instance based on the "targetClass" property. |
protected Route |
createRoute(java.lang.String uriPattern,
Restlet target)
Creates a new route for the given URI pattern and target. |
void |
detach(Restlet target)
Detaches the target from this router. |
protected Route |
getCustom(Request request,
Response response)
Returns the matched route according to a custom algorithm. |
int |
getDefaultMatchingMode()
Returns the default matching mode to use when selecting routes based on URIs. |
boolean |
getDefaultMatchQuery()
Returns the default setting for whether the routing should be done on URIs with or without taking into account query string. |
Route |
getDefaultRoute()
Returns the default route to test if no other one was available after retrying the maximum number of attemps. |
java.lang.Class<? extends Finder> |
getFinderClass()
Returns the finder class to instantiate. |
int |
getMaxAttempts()
Returns the maximum number of attempts if no attachment could be matched on the first attempt. |
Restlet |
getNext(Request request,
Response response)
Returns the next Restlet if available. |
float |
getRequiredScore()
Returns the minimum score required to have a match. |
long |
getRetryDelay()
Returns the delay (in seconds) before a new attempt. |
RouteList |
getRoutes()
Returns the modifiable list of routes. |
int |
getRoutingMode()
Returns the routing mode. |
void |
handle(Request request,
Response response)
Handles a call by invoking the next Restlet if it is available. |
void |
setDefaultMatchingMode(int defaultMatchingMode)
Sets the default matching mode to use when selecting routes based on URIs. |
void |
setDefaultMatchQuery(boolean defaultMatchQuery)
Sets the default setting for whether the routing should be done on URIs with or without taking into account query string. |
void |
setDefaultRoute(Route defaultRoute)
Sets the default route tested if no other one was available. |
void |
setFinderClass(java.lang.Class<? extends Finder> finderClass)
Sets the finder class to instantiate. |
void |
setMaxAttempts(int maxAttempts)
Sets the maximum number of attempts if no attachment could be matched on the first attempt. |
void |
setRequiredScore(float score)
Sets the score required to have a match. |
void |
setRetryDelay(long retryDelay)
Sets the delay (in seconds) before a new attempt. |
void |
setRoutes(RouteList routes)
Sets the modifiable list of routes. |
void |
setRoutingMode(int routingMode)
Sets the routing mode. |
Methods inherited from class org.restlet.Restlet |
---|
getApplication, getContext, getLogger, init, isStarted, isStopped, setContext, start, stop |
Methods inherited from class org.restlet.Uniform |
---|
delete, delete, get, get, handle, head, head, options, options, post, post, put, put |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int BEST
public static final int CUSTOM
public static final int FIRST
public static final int LAST
public static final int NEXT
public static final int RANDOM
Constructor Detail |
---|
public Router()
public Router(Context context)
context
- The context.Method Detail |
---|
public Route attach(Restlet target)
target
- The target Restlet to attach.
public Route attach(java.lang.String uriPattern, java.lang.Class<? extends Resource> targetClass)
uriPattern
- The URI pattern that must match the relative part of the
resource URI.targetClass
- The target Resource class to attach.
public Route attach(java.lang.String uriPattern, Restlet target)
uriPattern
- The URI pattern that must match the relative part of the
resource URI.target
- The target Restlet to attach.
public Route attachDefault(java.lang.Class<? extends Resource> defaultTargetClass)
defaultTargetClass
- The target Resource class to attach.
public Route attachDefault(Restlet defaultTarget)
defaultTarget
- The Restlet to use as the default target.
protected Finder createFinder(java.lang.Class<? extends Resource> targetClass)
targetClass
- The target Resource class to attach.
protected Route createRoute(java.lang.String uriPattern, Restlet target)
uriPattern
- The URI pattern that must match the relative part of the
resource URI.target
- The target Restlet to attach.
public void detach(Restlet target)
target
- The target Restlet to detach.protected Route getCustom(Request request, Response response)
request
- The request to handle.response
- The response to update.
public int getDefaultMatchingMode()
Template.MODE_STARTS_WITH
.
public boolean getDefaultMatchQuery()
public Route getDefaultRoute()
public java.lang.Class<? extends Finder> getFinderClass()
public int getMaxAttempts()
public Restlet getNext(Request request, Response response)
request
- The request to handle.response
- The response to update.
public float getRequiredScore()
public long getRetryDelay()
public RouteList getRoutes()
public int getRoutingMode()
public void handle(Request request, Response response)
handle
in class Restlet
request
- The request to handle.response
- The response to update.public void setDefaultMatchingMode(int defaultMatchingMode)
defaultMatchingMode
- The default matching mode.public void setDefaultMatchQuery(boolean defaultMatchQuery)
defaultMatchQuery
- The default setting for whether the routing should be done on
URIs with or without taking into account query string.public void setDefaultRoute(Route defaultRoute)
defaultRoute
- The default route tested if no other one was available.public void setFinderClass(java.lang.Class<? extends Finder> finderClass)
finderClass
- The finder class to instantiate.public void setMaxAttempts(int maxAttempts)
maxAttempts
- The maximum number of attempts.public void setRequiredScore(float score)
score
- The score required to have a match.public void setRetryDelay(long retryDelay)
retryDelay
- The delay (in seconds) before a new attempt.public void setRoutes(RouteList routes)
routes
- The modifiable list of routes.public void setRoutingMode(int routingMode)
routingMode
- The routing mode.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |