Class 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
  • Constructor Details

    • 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 Details

    • 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.