org.restlet.routing
Class Extractor

java.lang.Object
  extended by org.restlet.Restlet
      extended by org.restlet.routing.Filter
          extended by org.restlet.routing.Extractor
All Implemented Interfaces:
Uniform

public class Extractor
extends Filter

Filter extracting 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.

Author:
Jerome Louvel

Field Summary
 
Fields inherited from class org.restlet.routing.Filter
CONTINUE, SKIP, STOP
 
Constructor Summary
Extractor()
          Constructor.
Extractor(Context context)
          Constructor.
Extractor(Context context, Restlet next)
          Constructor.
 
Method Summary
protected  int beforeHandle(Request request, Response response)
          Allows filtering before its handling by the target Restlet.
 void extractFromCookie(String attribute, String cookieName, boolean first)
          Extracts an attribute from the request cookies.
 void extractFromEntity(String attribute, String parameter, boolean first)
          Extracts an attribute from the request entity form.
 void extractFromQuery(String attribute, String parameter, boolean first)
          Extracts an attribute from the query string of the resource reference.
 
Methods inherited from class org.restlet.routing.Filter
afterHandle, doHandle, getNext, handle, hasNext, setNext, setNext, start, stop
 
Methods inherited from class org.restlet.Restlet
createFinder, finalize, getApplication, getAuthor, getContext, getDescription, getFinderClass, getLogger, getName, getOwner, handle, handle, handle, isStarted, isStopped, setAuthor, setContext, setDescription, setFinderClass, setName, setOwner
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Extractor

public Extractor()
Constructor.


Extractor

public Extractor(Context context)
Constructor.

Parameters:
context - The context.

Extractor

public Extractor(Context context,
                 Restlet next)
Constructor.

Parameters:
context - The context.
next - The next Restlet.
Method Detail

beforeHandle

protected int beforeHandle(Request request,
                           Response response)
Allows filtering before its handling by the target Restlet. By default it extracts the attributes from form parameters (query, cookies, entity) and finally puts them in the request's attributes ( Message.getAttributes()).

Overrides:
beforeHandle in class Filter
Parameters:
request - The request to filter.
response - The response to filter.
Returns:
The continuation status.

extractFromCookie

public void extractFromCookie(String attribute,
                              String cookieName,
                              boolean first)
Extracts an attribute from the request cookies.

Parameters:
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.

extractFromEntity

public void extractFromEntity(String attribute,
                              String parameter,
                              boolean first)
Extracts an attribute from the request entity form.

Parameters:
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.

extractFromQuery

public void extractFromQuery(String attribute,
                             String parameter,
                             boolean first)
Extracts an attribute from the query string of the resource reference.

Parameters:
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.


Copyright © 2005-2013 Restlet.