Package org.restlet.engine.header
Class PreferenceReader<T extends org.restlet.data.Metadata>
- java.lang.Object
-
- org.restlet.engine.header.HeaderReader<org.restlet.data.Preference<T>>
-
- org.restlet.engine.header.PreferenceReader<T>
-
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
-
-
Field Summary
Fields Modifier and Type Field Description static int
TYPE_CHARACTER_SET
static int
TYPE_ENCODING
static int
TYPE_LANGUAGE
static int
TYPE_MEDIA_TYPE
static int
TYPE_PATCH
-
Constructor Summary
Constructors Constructor Description PreferenceReader(int type, java.lang.String header)
Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static void
addCharacterSets(java.lang.String acceptCharsetHeader, org.restlet.data.ClientInfo clientInfo)
Parses character set preferences from a header.static void
addEncodings(java.lang.String acceptEncodingHeader, org.restlet.data.ClientInfo clientInfo)
Parses encoding preferences from a header.static void
addLanguages(java.lang.String acceptLanguageHeader, org.restlet.data.ClientInfo clientInfo)
Adds language preferences from a header.static void
addMediaTypes(java.lang.String acceptMediaTypeHeader, org.restlet.data.ClientInfo clientInfo)
Parses media type preferences from a header.static void
addPatches(java.lang.String acceptPatchHeader, org.restlet.data.ClientInfo clientInfo)
Parses patch preferences from a header.protected org.restlet.data.Preference<T>
createPreference(java.lang.CharSequence metadata, org.restlet.util.Series<org.restlet.data.Parameter> parameters)
Creates a new preference.protected org.restlet.util.Series<org.restlet.data.Parameter>
extractMediaParams(org.restlet.util.Series<org.restlet.data.Parameter> parameters)
Extract the media parameters.protected float
extractQuality(org.restlet.util.Series<org.restlet.data.Parameter> parameters)
Extract the quality value.static float
readQuality(java.lang.String quality)
Parses a quality value.
If the quality is invalid, an IllegalArgumentException is thrown.org.restlet.data.Preference<T>
readValue()
Read the next preference.-
Methods inherited from class org.restlet.engine.header.HeaderReader
addValues, canAdd, createParameter, createParameter, mark, peek, read, readActualNamedValue, readComment, readDate, readDigits, readHeader, readHeader, readNamedValue, readParameter, readQuotedString, readRawText, readRawValue, readToken, readValues, reset, skipParameterSeparator, skipSpaces, skipValueSeparator, unread
-
-
-
-
Field Detail
-
TYPE_CHARACTER_SET
public static final int TYPE_CHARACTER_SET
- See Also:
- Constant Field Values
-
TYPE_ENCODING
public static final int TYPE_ENCODING
- See Also:
- Constant Field Values
-
TYPE_LANGUAGE
public static final int TYPE_LANGUAGE
- See Also:
- Constant Field Values
-
TYPE_MEDIA_TYPE
public static final int TYPE_MEDIA_TYPE
- See Also:
- Constant Field Values
-
TYPE_PATCH
public static final int TYPE_PATCH
- See Also:
- Constant Field Values
-
-
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 classHeaderReader<org.restlet.data.Preference<T extends org.restlet.data.Metadata>>
- Returns:
- The next preference.
- Throws:
java.io.IOException
-
-