Class PreferenceReader<T extends org.restlet.data.Metadata>


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

      • PreferenceReader

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

      • addCharacterSets

        public static void addCharacterSets​(java.lang.String acceptCharsetHeader,
                                            org.restlet.data.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​(java.lang.String acceptEncodingHeader,
                                        org.restlet.data.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​(java.lang.String acceptLanguageHeader,
                                        org.restlet.data.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​(java.lang.String acceptMediaTypeHeader,
                                         org.restlet.data.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​(java.lang.String acceptPatchHeader,
                                      org.restlet.data.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​(java.lang.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 org.restlet.data.Preference<T> createPreference​(java.lang.CharSequence metadata,
                                                                  org.restlet.util.Series<org.restlet.data.Parameter> parameters)
        Creates a new preference.
        Parameters:
        metadata - The metadata name.
        parameters - The parameters list.
        Returns:
        The new preference.
      • extractMediaParams

        protected org.restlet.util.Series<org.restlet.data.Parameter> extractMediaParams​(org.restlet.util.Series<org.restlet.data.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​(org.restlet.util.Series<org.restlet.data.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 org.restlet.data.Preference<T> readValue()
                                                 throws java.io.IOException
        Read the next preference.
        Overrides:
        readValue in class HeaderReader<org.restlet.data.Preference<T extends org.restlet.data.Metadata>>
        Returns:
        The next preference.
        Throws:
        java.io.IOException