|
||||||||||
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.Filter
org.restlet.Route
public class Route
Filter scoring the affinity of calls with the attached Restlet. The score is
used by an associated Router in order to determine the most appropriate
Restlet for a given call. The routing is based on a reference template. It
also supports the extraction of some attributes from a call.
Multiple extractions can be defined, based on the query string of the
resource reference, on the request form (ex: posted from a browser) or on
cookies.
Concurrency note: instances of this class or its subclasses can be invoked by
several threads at the same time and therefore must be thread-safe. You
should be especially careful when storing state in member variables.
Template
Field Summary |
---|
Fields inherited from class org.restlet.Filter |
---|
CONTINUE, SKIP, STOP |
Constructor Summary | |
---|---|
Route(Restlet next)
Constructor behaving as a simple extractor filter. |
|
Route(Router router,
java.lang.String uriTemplate,
Restlet next)
Constructor. |
|
Route(Router router,
Template template,
Restlet next)
Constructor. |
Method Summary | |
---|---|
protected int |
beforeHandle(Request request,
Response response)
Allows filtering before its handling by the target Restlet. |
Route |
extractCookie(java.lang.String attribute,
java.lang.String cookieName,
boolean first)
Extracts an attribute from the request cookies. |
Route |
extractEntity(java.lang.String attribute,
java.lang.String parameter,
boolean first)
Extracts an attribute from the request entity form. |
Route |
extractQuery(java.lang.String attribute,
java.lang.String parameter,
boolean first)
Extracts an attribute from the query string of the resource reference. |
int |
getMatchingMode()
Returns the matching mode to use on the template when parsing a formatted reference. |
boolean |
getMatchQuery()
Indicates whether the query part should be taken into account when matching a reference with the template. |
Router |
getRouter()
Returns the parent router. |
Template |
getTemplate()
Returns the reference template to match. |
float |
score(Request request,
Response response)
Returns the score for a given call (between 0 and 1.0). |
void |
setMatchingMode(int matchingMode)
Sets the matching mode to use on the template when parsing a formatted reference. |
void |
setMatchQuery(boolean matchQuery)
Sets whether the matching should be done on the URI with or without query string. |
void |
setRouter(Router router)
Sets the parent router. |
void |
setTemplate(Template template)
Sets the reference template to match. |
void |
validate(java.lang.String attribute,
boolean required,
java.lang.String format)
Checks the request attributes for presence, format, etc. |
Methods inherited from class org.restlet.Filter |
---|
afterHandle, doHandle, getNext, handle, hasNext, setNext, setNext |
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 |
Constructor Detail |
---|
public Route(Restlet next)
next
- The next Restlet.public Route(Router router, java.lang.String uriTemplate, Restlet next)
Template.MODE_STARTS_WITH
matching mode. This can be changed by
getting the template and calling Template.setMatchingMode(int)
with Template.MODE_EQUALS
for exact matching.
router
- The parent router.uriTemplate
- The URI template.next
- The next Restlet.public Route(Router router, Template template, Restlet next)
router
- The parent router.template
- The URI template.next
- The next Restlet.Method Detail |
---|
protected int beforeHandle(Request request, Response response)
validate(String, boolean, String)
method.
beforeHandle
in class Filter
request
- The request to filter.response
- The response to filter.
public Route extractCookie(java.lang.String attribute, java.lang.String cookieName, boolean first)
attribute
- The name of the request attribute to set.cookieName
- The name of the cookies to extract.first
- Indicates if only the first cookie should be set. Otherwise as
a List instance might be set in the attribute value.
public Route extractEntity(java.lang.String attribute, java.lang.String parameter, boolean first)
attribute
- The name of the request attribute to set.parameter
- The name of the entity form parameter to extract.first
- Indicates if only the first cookie should be set. Otherwise as
a List instance might be set in the attribute value.
public Route extractQuery(java.lang.String attribute, java.lang.String parameter, boolean first)
attribute
- The name of the request attribute to set.parameter
- The name of the query string parameter to extract.first
- Indicates if only the first cookie should be set. Otherwise as
a List instance might be set in the attribute value.
public int getMatchingMode()
public boolean getMatchQuery()
public Router getRouter()
public Template getTemplate()
public float score(Request request, Response response)
request
- The request to score.response
- The response to score.
public void setMatchingMode(int matchingMode)
matchingMode
- The matching mode to use.public void setMatchQuery(boolean matchQuery)
matchQuery
- True if the matching should be done with the query string,
false otherwise.public void setRouter(Router router)
router
- The parent router.public void setTemplate(Template template)
template
- The reference template to match.public void validate(java.lang.String attribute, boolean required, java.lang.String format)
attribute
- Name of the attribute to look for.required
- Indicates if the attribute presence is required.format
- Format of the attribute value, using Regex pattern syntax.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |