Package org.eclipse.jetty.http
Class QuotedQualityCSV
java.lang.Object
org.eclipse.jetty.http.QuotedCSVParser
org.eclipse.jetty.http.QuotedCSV
org.eclipse.jetty.http.QuotedQualityCSV
Implements a quoted comma separated list of quality values
in accordance with RFC7230 and RFC7231.
Values are returned sorted in quality order, with OWS and the
quality parameters removed.
- See Also:
-
- "https://tools.ietf.org/html/rfc7230#section-3.2.6"
- "https://tools.ietf.org/html/rfc7230#section-7"
- "https://tools.ietf.org/html/rfc7231#section-5.3.1"
-
Field Summary
Modifier and TypeFieldDescriptionstatic ToIntFunction<String>
Lambda to apply a most specific MIME encoding secondary ordering.Fields inherited from class org.eclipse.jetty.http.QuotedCSVParser
_keepQuotes, DELIMITERS, LIST_TOKENIZER
-
Constructor Summary
ConstructorDescriptionSorts values with equal quality according to the length of the value String.QuotedQualityCSV
(String[] preferredOrder) Sorts values with equal quality according to given order.QuotedQualityCSV
(ToIntFunction<String> secondaryOrdering) Orders values with equal quality with the given function.QuotedQualityCSV
(List<String> preferredOrder) Sorts values with equal quality according to given order. -
Method Summary
Modifier and TypeMethodDescriptioniterator()
protected void
parsedParam
(StringBuilder buffer, int valueLength, int paramName, int paramValue) Called when a parameter has been parsedprotected void
parsedValue
(StringBuilder buffer) Called when a value has been parsed (prior to any parameters)protected void
parsedValueAndParams
(StringBuilder buffer) Called when a value and it's parameters has been parsedprotected void
sort()
Methods inherited from class org.eclipse.jetty.http.QuotedCSV
asString, isEmpty, join, join, join, size, toString
Methods inherited from class org.eclipse.jetty.http.QuotedCSVParser
addValue, quote, quoteIfNeeded, unquote
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
MOST_SPECIFIC_MIME_ORDERING
Lambda to apply a most specific MIME encoding secondary ordering.- See Also:
-
- "https://tools.ietf.org/html/rfc7231#section-5.3.2"
-
-
Constructor Details
-
QuotedQualityCSV
public QuotedQualityCSV()Sorts values with equal quality according to the length of the value String. -
QuotedQualityCSV
Sorts values with equal quality according to given order.- Parameters:
preferredOrder
- Array indicating the preferred order of known values
-
QuotedQualityCSV
Sorts values with equal quality according to given order.- Parameters:
preferredOrder
- Array indicating the preferred order of known values
-
QuotedQualityCSV
Orders values with equal quality with the given function.- Parameters:
secondaryOrdering
- Function to apply an ordering other than specified by quality, highest values are sorted first.
-
-
Method Details
-
parsedValueAndParams
Description copied from class:QuotedCSVParser
Called when a value and it's parameters has been parsed- Overrides:
parsedValueAndParams
in classQuotedCSV
- Parameters:
buffer
- Containing the trimmed value and parameters
-
parsedValue
Description copied from class:QuotedCSVParser
Called when a value has been parsed (prior to any parameters)- Overrides:
parsedValue
in classQuotedCSVParser
- Parameters:
buffer
- Containing the trimmed value, which may be mutated
-
parsedParam
Description copied from class:QuotedCSVParser
Called when a parameter has been parsed- Overrides:
parsedParam
in classQuotedCSVParser
- Parameters:
buffer
- Containing the trimmed value and all parameters, which may be mutatedvalueLength
- The length of the valueparamName
- The index of the start of the parameter just parsedparamValue
- The index of the start of the parameter value just parsed, or -1
-
getValues
-
iterator
-
sort
protected void sort()
-