Class QuotedQualityCSV

All Implemented Interfaces:
Iterable<String>

public class QuotedQualityCSV extends QuotedCSV implements Iterable<String>
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 Details

    • MOST_SPECIFIC_MIME_ORDERING

      public static ToIntFunction<String> 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

      public QuotedQualityCSV(String[] preferredOrder)
      Sorts values with equal quality according to given order.
      Parameters:
      preferredOrder - Array indicating the preferred order of known values
    • QuotedQualityCSV

      public QuotedQualityCSV(List<String> preferredOrder)
      Sorts values with equal quality according to given order.
      Parameters:
      preferredOrder - Array indicating the preferred order of known values
    • QuotedQualityCSV

      public QuotedQualityCSV(ToIntFunction<String> secondaryOrdering)
      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

      protected void parsedValueAndParams(StringBuilder buffer)
      Description copied from class: QuotedCSVParser
      Called when a value and it's parameters has been parsed
      Overrides:
      parsedValueAndParams in class QuotedCSV
      Parameters:
      buffer - Containing the trimmed value and parameters
    • parsedValue

      protected void parsedValue(StringBuilder buffer)
      Description copied from class: QuotedCSVParser
      Called when a value has been parsed (prior to any parameters)
      Overrides:
      parsedValue in class QuotedCSVParser
      Parameters:
      buffer - Containing the trimmed value, which may be mutated
    • parsedParam

      protected void parsedParam(StringBuilder buffer, int valueLength, int paramName, int paramValue)
      Description copied from class: QuotedCSVParser
      Called when a parameter has been parsed
      Overrides:
      parsedParam in class QuotedCSVParser
      Parameters:
      buffer - Containing the trimmed value and all parameters, which may be mutated
      valueLength - The length of the value
      paramName - The index of the start of the parameter just parsed
      paramValue - The index of the start of the parameter value just parsed, or -1
    • getValues

      public List<String> getValues()
      Overrides:
      getValues in class QuotedCSV
    • iterator

      public Iterator<String> iterator()
      Specified by:
      iterator in interface Iterable<String>
      Overrides:
      iterator in class QuotedCSV
    • sort

      protected void sort()