Class PreferenceReader<T extends Metadata>

java.lang.Object
org.restlet.engine.header.HeaderReader<Preference<T>>
org.restlet.engine.header.PreferenceReader<T>

public class PreferenceReader<T extends Metadata> extends HeaderReader<Preference<T>>
Preference header reader. Works for character sets, encodings, languages or media types.
Author:
Jerome Louvel
  • Field Details

  • Constructor Details

    • PreferenceReader

      public PreferenceReader(int type, String header)
      Constructor.
      Parameters:
      type - The type of metadata read.
      header - The header to read.
  • Method Details

    • addCharacterSets

      public static void addCharacterSets(String acceptCharsetHeader, ClientInfo clientInfo)
      Parses character set preferences from a header.
      Parameters:
      acceptCharsetHeader - The header to parse.
      clientInfo - The client info to update.
    • addEncodings

      public static void addEncodings(String acceptEncodingHeader, ClientInfo clientInfo)
      Parses encoding preferences from a header.
      Parameters:
      acceptEncodingHeader - The header to parse.
      clientInfo - The client info to update.
    • addLanguages

      public static void addLanguages(String acceptLanguageHeader, ClientInfo clientInfo)
      Adds language preferences from a header.
      Parameters:
      acceptLanguageHeader - The header to parse.
      clientInfo - The client info to update.
    • addMediaTypes

      public static void addMediaTypes(String acceptMediaTypeHeader, ClientInfo clientInfo)
      Parses media type preferences from a header.
      Parameters:
      acceptMediaTypeHeader - The header to parse.
      clientInfo - The client info to update.
    • addPatches

      public static void addPatches(String acceptPatchHeader, ClientInfo clientInfo)
      Parses patch preferences from a header.
      Parameters:
      acceptPatchHeader - The header to parse.
      clientInfo - The client info to update.
    • readQuality

      public static float readQuality(String quality)
      Parses a quality value.
      If the quality is invalid, an IllegalArgumentException is thrown.
      Parameters:
      quality - The quality value as a string.
      Returns:
      The parsed quality value as a float.
    • createPreference

      protected Preference<T> createPreference(CharSequence metadata, Series<Parameter> parameters)
      Creates a new preference.
      Parameters:
      metadata - The metadata name.
      parameters - The parameters list.
      Returns:
      The new preference.
    • extractMediaParams

      protected Series<Parameter> extractMediaParams(Series<Parameter> parameters)
      Extract the media parameters. Only leave as the quality parameter if found. Modifies the parameters list.
      Parameters:
      parameters - All the preference parameters.
      Returns:
      The media parameters.
    • extractQuality

      protected float extractQuality(Series<Parameter> parameters)
      Extract the quality value. If the value is not found, 1 is returned.
      Parameters:
      parameters - The preference parameters.
      Returns:
      The quality value.
    • readValue

      public Preference<T> readValue() throws IOException
      Read the next preference.
      Overrides:
      readValue in class HeaderReader<Preference<T extends Metadata>>
      Returns:
      The next preference.
      Throws:
      IOException