Package org.greenbytes.http.sfv
Class Parser
- java.lang.Object
-
- org.greenbytes.http.sfv.Parser
-
public class Parser extends Object
Implementation of the "Structured Field Values" Parser.- See Also:
- Section 4.2 of RFC 9651
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static Item<?>parseBareItem(String input)Implementation of "Parsing a Bare Item" (assuming no extra characters left in input string)static BooleanItemparseBoolean(String input)Implementation of "Parsing a Boolean" (assuming no extra characters left in input string)static ByteSequenceItemparseByteSequence(String input)Implementation of "Parsing a Byte Sequence" (assuming no extra characters left in input string)DictionaryparseDictionary()Implementation of "Parsing a Dictionary"static DictionaryparseDictionary(String input)Implementation of "Parsing a Dictionary" (assuming no extra characters left in input string)static DisplayStringItemparseDisplayString(String input)Implementation of "Parsing a Display String" (assuming no extra characters left in input string)static InnerListparseInnerList(String input)Implementation of "Parsing an Inner List" (assuming no extra characters left in input string)static NumberItem<?>parseIntegerOrDecimal(String input)Implementation of "Parsing an Integer or Decimal" (assuming no extra characters left in input string)Item<?>parseItem()Implementation of "Parsing an Item"static Item<?>parseItem(String input)Implementation of "Parsing an Item" (assuming no extra characters left in input string)static Parameterizable<?>parseItemOrInnerList(String input)Implementation of "Parsing an Item Or Inner List" (assuming no extra characters left in input string)static StringparseKey(String input)Implementation of "Parsing a Key" (assuming no extra characters left in input string)OuterListparseList()Implementation of "Parsing a List"static OuterListparseList(String input)Implementation of "Parsing a List" (assuming no extra characters left in input string)static ParametersparseParameters(String input)Implementation of "Parsing Parameters" (assuming no extra characters left in input string)static StringItemparseString(String input)Implementation of "Parsing a String" (assuming no extra characters left in input string)static TokenItemparseToken(String input)Implementation of "Parsing a Token" (assuming no extra characters left in input string)
-
-
-
Constructor Detail
-
Parser
public Parser(String input)
CreatesParserfor the given input.- Parameters:
input- single field line- Throws:
ParseException- for non-ASCII characters
-
Parser
public Parser(String... input)
CreatesParserfor the given input.- Parameters:
input- field lines- Throws:
ParseException- for non-ASCII characters
-
Parser
public Parser(Iterable<String> fieldLines)
CreatesParserfor the given input.- Parameters:
fieldLines- field lines- Throws:
ParseException- for non-ASCII characters or empty input
-
-
Method Detail
-
parseBoolean
public static BooleanItem parseBoolean(String input)
Implementation of "Parsing a Boolean" (assuming no extra characters left in input string)- Parameters:
input-Stringto parse.- Returns:
- result of parse as
Boolean. - See Also:
- Section 4.2.8 of RFC 9651
-
parseList
public OuterList parseList()
Implementation of "Parsing a List"- Returns:
- result of parse as
OuterList. - See Also:
- Section 4.2.1 of RFC 9651
-
parseDictionary
public Dictionary parseDictionary()
Implementation of "Parsing a Dictionary"- Returns:
- result of parse as
Dictionary. - See Also:
- Section 4.2.2 of RFC 9651
-
parseItem
public Item<?> parseItem()
Implementation of "Parsing an Item"- Returns:
- result of parse as
Item. - See Also:
- Section 4.2.3 of RFC 9651
-
parseList
public static OuterList parseList(String input)
Implementation of "Parsing a List" (assuming no extra characters left in input string)- Parameters:
input-Stringto parse.- Returns:
- result of parse as
OuterList. - See Also:
- Section 4.2.1 of RFC 9651
-
parseItemOrInnerList
public static Parameterizable<?> parseItemOrInnerList(String input)
Implementation of "Parsing an Item Or Inner List" (assuming no extra characters left in input string)- Parameters:
input-Stringto parse.- Returns:
- result of parse as
Item. - See Also:
- Section 4.2.1.1 of RFC 9651
-
parseInnerList
public static InnerList parseInnerList(String input)
Implementation of "Parsing an Inner List" (assuming no extra characters left in input string)- Parameters:
input-Stringto parse.- Returns:
- result of parse as
InnerList. - See Also:
- Section 4.2.1.2 of RFC 9651
-
parseDictionary
public static Dictionary parseDictionary(String input)
Implementation of "Parsing a Dictionary" (assuming no extra characters left in input string)- Parameters:
input-Stringto parse.- Returns:
- result of parse as
Dictionary. - See Also:
- Section 4.2.2 of RFC 9651
-
parseItem
public static Item<?> parseItem(String input)
Implementation of "Parsing an Item" (assuming no extra characters left in input string)- Parameters:
input-Stringto parse.- Returns:
- result of parse as
Item. - See Also:
- Section 4.2.3 of RFC 9651
-
parseBareItem
public static Item<?> parseBareItem(String input)
Implementation of "Parsing a Bare Item" (assuming no extra characters left in input string)- Parameters:
input-Stringto parse.- Returns:
- result of parse as
Item. - See Also:
- Section 4.2.3.1 of RFC 9651
-
parseParameters
public static Parameters parseParameters(String input)
Implementation of "Parsing Parameters" (assuming no extra characters left in input string)- Parameters:
input-Stringto parse.- Returns:
- result of parse as
Parameters. - See Also:
- Section 4.2.3.2 of RFC 9651
-
parseKey
public static String parseKey(String input)
Implementation of "Parsing a Key" (assuming no extra characters left in input string)- Parameters:
input-Stringto parse.- Returns:
- result of parse as
String. - See Also:
- Section 4.2.3.3 of RFC 9651
-
parseIntegerOrDecimal
public static NumberItem<?> parseIntegerOrDecimal(String input)
Implementation of "Parsing an Integer or Decimal" (assuming no extra characters left in input string)- Parameters:
input-Stringto parse.- Returns:
- result of parse as
NumberItem. - See Also:
- Section 4.2.4 of RFC 9651
-
parseString
public static StringItem parseString(String input)
Implementation of "Parsing a String" (assuming no extra characters left in input string)- Parameters:
input-Stringto parse.- Returns:
- result of parse as
StringItem. - See Also:
- Section 4.2.5 of RFC 9651
-
parseDisplayString
public static DisplayStringItem parseDisplayString(String input)
Implementation of "Parsing a Display String" (assuming no extra characters left in input string)- Parameters:
input-Stringto parse.- Returns:
- result of parse as
DisplayStringItem. - See Also:
- Section 4.2.10 of RFC 9651
-
parseToken
public static TokenItem parseToken(String input)
Implementation of "Parsing a Token" (assuming no extra characters left in input string)- Parameters:
input-Stringto parse.- Returns:
- result of parse as
TokenItem. - See Also:
- Section 4.2.6 of RFC 9651
-
parseByteSequence
public static ByteSequenceItem parseByteSequence(String input)
Implementation of "Parsing a Byte Sequence" (assuming no extra characters left in input string)- Parameters:
input-Stringto parse.- Returns:
- result of parse as
ByteSequenceItem. - See Also:
- Section 4.2.7 of RFC 9651
-
-