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 intTYPE_CHARACTER_SETstatic intTYPE_ENCODINGstatic intTYPE_LANGUAGEstatic intTYPE_MEDIA_TYPEstatic intTYPE_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 voidaddCharacterSets(java.lang.String acceptCharsetHeader, org.restlet.data.ClientInfo clientInfo)Parses character set preferences from a header.static voidaddEncodings(java.lang.String acceptEncodingHeader, org.restlet.data.ClientInfo clientInfo)Parses encoding preferences from a header.static voidaddLanguages(java.lang.String acceptLanguageHeader, org.restlet.data.ClientInfo clientInfo)Adds language preferences from a header.static voidaddMediaTypes(java.lang.String acceptMediaTypeHeader, org.restlet.data.ClientInfo clientInfo)Parses media type preferences from a header.static voidaddPatches(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 floatextractQuality(org.restlet.util.Series<org.restlet.data.Parameter> parameters)Extract the quality value.static floatreadQuality(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:
readValuein classHeaderReader<org.restlet.data.Preference<T extends org.restlet.data.Metadata>>- Returns:
- The next preference.
- Throws:
java.io.IOException
-
-