Package org.apache.hc.core5.http.message
Class BasicHeaderValueParser
- java.lang.Object
-
- org.apache.hc.core5.http.message.BasicHeaderValueParser
-
- All Implemented Interfaces:
HeaderValueParser
@Contract(threading=IMMUTABLE) public class BasicHeaderValueParser extends java.lang.Object implements HeaderValueParser
DefaultHeaderValueParser
implementation.- Since:
- 4.0
-
-
Field Summary
Fields Modifier and Type Field Description private static char
ELEM_DELIMITER
private static HeaderElement[]
EMPTY_HEADER_ELEMENT_ARRAY
An empty immutableHeaderElement
array.private static NameValuePair[]
EMPTY_NAME_VALUE_ARRAY
An empty immutableNameValuePair
array.static BasicHeaderValueParser
INSTANCE
private static char
PARAM_DELIMITER
private static java.util.BitSet
TOKEN_DELIMITER
private Tokenizer
tokenizer
private static java.util.BitSet
VALUE_DELIMITER
-
Constructor Summary
Constructors Constructor Description BasicHeaderValueParser()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description HeaderElement[]
parseElements(java.lang.CharSequence buffer, ParserCursor cursor)
Parses a header value into elements.HeaderElement
parseHeaderElement(java.lang.CharSequence buffer, ParserCursor cursor)
Parses a single header element.NameValuePair
parseNameValuePair(java.lang.CharSequence buffer, ParserCursor cursor)
Parses a name=value specification, where the = and value are optional.NameValuePair[]
parseParameters(java.lang.CharSequence buffer, ParserCursor cursor)
Parses a list of name-value pairs.
-
-
-
Field Detail
-
INSTANCE
public static final BasicHeaderValueParser INSTANCE
-
PARAM_DELIMITER
private static final char PARAM_DELIMITER
- See Also:
- Constant Field Values
-
ELEM_DELIMITER
private static final char ELEM_DELIMITER
- See Also:
- Constant Field Values
-
TOKEN_DELIMITER
private static final java.util.BitSet TOKEN_DELIMITER
-
VALUE_DELIMITER
private static final java.util.BitSet VALUE_DELIMITER
-
tokenizer
private final Tokenizer tokenizer
-
EMPTY_HEADER_ELEMENT_ARRAY
private static final HeaderElement[] EMPTY_HEADER_ELEMENT_ARRAY
An empty immutableHeaderElement
array.
-
EMPTY_NAME_VALUE_ARRAY
private static final NameValuePair[] EMPTY_NAME_VALUE_ARRAY
An empty immutableNameValuePair
array.
-
-
Method Detail
-
parseElements
public HeaderElement[] parseElements(java.lang.CharSequence buffer, ParserCursor cursor)
Description copied from interface:HeaderValueParser
Parses a header value into elements. Parse errors are indicated asRuntimeException
.- Specified by:
parseElements
in interfaceHeaderValueParser
- Parameters:
buffer
- buffer holding the header value to parsecursor
- the parser cursor containing the current position and the bounds within the buffer for the parsing operation- Returns:
- an array holding all elements of the header value
-
parseHeaderElement
public HeaderElement parseHeaderElement(java.lang.CharSequence buffer, ParserCursor cursor)
Description copied from interface:HeaderValueParser
Parses a single header element. A header element consist of a semicolon-separate list of name=value definitions.- Specified by:
parseHeaderElement
in interfaceHeaderValueParser
- Parameters:
buffer
- buffer holding the element to parsecursor
- the parser cursor containing the current position and the bounds within the buffer for the parsing operation- Returns:
- the parsed element
-
parseParameters
public NameValuePair[] parseParameters(java.lang.CharSequence buffer, ParserCursor cursor)
Description copied from interface:HeaderValueParser
Parses a list of name-value pairs. These lists are used to specify parameters to a header element. Parse errors are indicated asParseException
.- Specified by:
parseParameters
in interfaceHeaderValueParser
- Parameters:
buffer
- buffer holding the name-value list to parsecursor
- the parser cursor containing the current position and the bounds within the buffer for the parsing operation- Returns:
- an array holding all items of the name-value list
-
parseNameValuePair
public NameValuePair parseNameValuePair(java.lang.CharSequence buffer, ParserCursor cursor)
Description copied from interface:HeaderValueParser
Parses a name=value specification, where the = and value are optional.- Specified by:
parseNameValuePair
in interfaceHeaderValueParser
- Parameters:
buffer
- the buffer holding the name-value pair to parsecursor
- the parser cursor containing the current position and the bounds within the buffer for the parsing operation- Returns:
- the name-value pair, where the value is
null
if no value is specified
-
-