Class QuotedCSV

  • All Implemented Interfaces:
    java.lang.Iterable<java.lang.String>
    Direct Known Subclasses:
    QuotedQualityCSV

    public class QuotedCSV
    extends java.lang.Object
    implements java.lang.Iterable<java.lang.String>
    Implements a quoted comma separated list of values in accordance with RFC7230. OWS is removed and quoted characters ignored for parsing.
    See Also:
    "https://tools.ietf.org/html/rfc7230#section-3.2.6", "https://tools.ietf.org/html/rfc7230#section-7"
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected boolean _keepQuotes  
      protected java.util.List<java.lang.String> _values  
    • Constructor Summary

      Constructors 
      Constructor Description
      QuotedCSV​(boolean keepQuotes, java.lang.String... values)  
      QuotedCSV​(java.lang.String... values)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addValue​(java.lang.String value)
      Add and parse a value string(s)
      java.util.List<java.lang.String> getValues()  
      boolean isEmpty()  
      java.util.Iterator<java.lang.String> iterator()  
      protected void parsedParam​(java.lang.StringBuffer buffer, int valueLength, int paramName, int paramValue)
      Called when a parameter has been parsed
      protected void parsedValue​(java.lang.StringBuffer buffer)
      Called when a value has been parsed
      int size()  
      java.lang.String toString()  
      static java.lang.String unquote​(java.lang.String s)  
      • 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 Detail

      • _values

        protected final java.util.List<java.lang.String> _values
      • _keepQuotes

        protected final boolean _keepQuotes
    • Constructor Detail

      • QuotedCSV

        public QuotedCSV​(java.lang.String... values)
      • QuotedCSV

        public QuotedCSV​(boolean keepQuotes,
                         java.lang.String... values)
    • Method Detail

      • addValue

        public void addValue​(java.lang.String value)
        Add and parse a value string(s)
        Parameters:
        value - A value that may contain one or more Quoted CSV items.
      • parsedValue

        protected void parsedValue​(java.lang.StringBuffer buffer)
        Called when a value has been parsed
        Parameters:
        buffer - Containing the trimmed value, which may be mutated
      • parsedParam

        protected void parsedParam​(java.lang.StringBuffer buffer,
                                   int valueLength,
                                   int paramName,
                                   int paramValue)
        Called when a parameter has been parsed
        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
      • size

        public int size()
      • isEmpty

        public boolean isEmpty()
      • getValues

        public java.util.List<java.lang.String> getValues()
      • iterator

        public java.util.Iterator<java.lang.String> iterator()
        Specified by:
        iterator in interface java.lang.Iterable<java.lang.String>
      • unquote

        public static java.lang.String unquote​(java.lang.String s)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object