Class ParameterizedHeaderCodec<A extends ParameterizedHeader,B extends ParameterizedHeader.AbstractBuilder<A,B>>
- Type Parameters:
A- parameterized header typeB- parameterized header builder type
- All Implemented Interfaces:
HeaderCodec<A>
- Direct Known Subclasses:
AcceptCodec,AcceptLanguageCodec,ContentDispositionCodec,ContentTypeCodec,CookieCodec,SetCookieCodec
A generic parameterized HeaderCodec implementation used to encode/decode various parameterized headers.
- Since:
- 1.0
- Author:
- Jeremy Kuhn
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final charDefault parameter delimiter.static final charDefault value delimiter.protected final charThe parameter delimiter.protected final charThe value delimiter.protected final charThe value delimiter.Fields inherited from class io.inverno.mod.http.base.header.AbstractHeaderCodec
builderSupplier, supportedHeaderNames -
Constructor Summary
ConstructorsConstructorDescriptionParameterizedHeaderCodec(Supplier<B> builderSupplier, Set<String> supportedHeaderNames, char valueDelimiter, char parameterDelimiter, char parameterValueDelimiter, boolean allowEmptyValue, boolean expectNoValue, boolean allowFlagParameter, boolean allowSpaceInValue, boolean allowQuotedValue, boolean allowMultiple) Creates a parameterized header codec with the specified header builder supplier, list of supported header names, value delimiter, parameter delimiter, parameter value delimiter and options. -
Method Summary
Modifier and TypeMethodDescriptionDecodes the specified raw valueByteBuffor the specified header name using the specified charset.Decodes the specified raw header value for the specified header name.Encodes the specified header as a string.encodeValue(A header) Encodes the value of the specified header as a string.Methods inherited from class io.inverno.mod.http.base.header.AbstractHeaderCodec
getSupportedHeaderNamesMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.inverno.mod.http.base.header.HeaderCodec
encode, encodeValue
-
Field Details
-
DEFAULT_PARAMETER_DELIMITER
public static final char DEFAULT_PARAMETER_DELIMITERDefault parameter delimiter.- See Also:
-
DEFAULT_VALUE_DELIMITER
public static final char DEFAULT_VALUE_DELIMITERDefault value delimiter.- See Also:
-
valueDelimiter
protected final char valueDelimiterThe value delimiter. -
parameterDelimiter
protected final char parameterDelimiterThe parameter delimiter. -
parameterValueDelimiter
protected final char parameterValueDelimiterThe value delimiter.
-
-
Constructor Details
-
ParameterizedHeaderCodec
public ParameterizedHeaderCodec(Supplier<B> builderSupplier, Set<String> supportedHeaderNames, char valueDelimiter, char parameterDelimiter, char parameterValueDelimiter, boolean allowEmptyValue, boolean expectNoValue, boolean allowFlagParameter, boolean allowSpaceInValue, boolean allowQuotedValue, boolean allowMultiple) Creates a parameterized header codec with the specified header builder supplier, list of supported header names, value delimiter, parameter delimiter, parameter value delimiter and options.
- Parameters:
builderSupplier- a supplier to create header builder instances when decoding a headersupportedHeaderNames- the list of header names supported by the codecvalueDelimiter- a value delimiterparameterDelimiter- a parameter delimiterparameterValueDelimiter- a parameter value delimiterallowEmptyValue- allow empty parameterized valueexpectNoValue- expect no parameterized valueallowFlagParameter- allow flag parameters (ie. parameter with no value)allowSpaceInValue- allow space in valuesallowQuotedValue- allow quoted valuesallowMultiple- allow multiple header values
-
-
Method Details
-
decode
Description copied from interface:HeaderCodecDecodes the specified raw header value for the specified header name.
- Parameters:
name- a header namerawValue- a header raw value- Returns:
- a decoded header instance
-
decode
Description copied from interface:HeaderCodecDecodes the specified raw value
ByteBuffor the specified header name using the specified charset.- Parameters:
name- a header namebuffer- a header raw valuecharset- the charset to use for decoding- Returns:
- a decoded header instance
-
encode
Description copied from interface:HeaderCodecEncodes the specified header as a string.
The resulting value is a header field as defined by RFC 7230 Section 3.2.
- Parameters:
header- the header to encode- Returns:
- the encoded header
-
encodeValue
Description copied from interface:HeaderCodecEncodes the value of the specified header as a string.
The resulting value corresponds to the header field value as defined by RFC 7230 Section 3.2.
- Parameters:
header- the header to encode- Returns:
- the encoded header value
-