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 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​(java.lang.String attribute,
                                      java.lang.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​(java.lang.String attribute,
                                      java.lang.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​(java.lang.String attribute,
                                     java.lang.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.