Class PreferenceReader<T extends Metadata>


  • public class PreferenceReader<T extends Metadata>
    extends HeaderReader<Preference<T>>
    Preference header reader. Works for character sets, encodings, languages or media types.
    • 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,
                                            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,
                                        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,
                                        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,
                                         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,
                                      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 Preference<T> createPreference​(java.lang.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.