Package org.springframework.core.codec
Class Hints
java.lang.Object
org.springframework.core.codec.Hints
Constants and convenience methods for working with hints.
- Since:
- 5.1
- Author:
- Rossen Stoyanchev
- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCreate a map wit a single hint viaCollections.singletonMap(K, V).static StringgetLogPrefix(Map<String, Object> hints) Obtain the hintLOG_PREFIX_HINT, if present, or an empty String.static <T> TgetRequiredHint(Map<String, Object> hints, String hintName) Obtain the value for a required hint.static booleanisLoggingSuppressed(Map<String, Object> hints) Whether to suppress logging based on the hintSUPPRESS_LOGGING_HINT.Merge a single hint into a map of hints, possibly creating and copying all hints into a new map, or otherwise if the map of hints is empty, creating a new single entry map.Merge two maps of hints, creating and copying into a new map if both have values, or returning the non-empty map, or an empty map if both are empty.none()Return an empty map of hints viaCollections.emptyMap().static voidtouchDataBuffer(DataBuffer buffer, Map<String, Object> hints, Log logger) If the hints contain aLOG_PREFIX_HINTand the given logger has DEBUG level enabled, apply the log prefix as a hint to the given buffer viaDataBufferUtils.touch(DataBuffer, Object).
-
Field Details
-
LOG_PREFIX_HINT
Name of hint exposing a prefix to use for correlating log messages. -
SUPPRESS_LOGGING_HINT
Name of boolean hint whether to avoid logging data either because it's potentially sensitive, or because it has been logged by a composite encoder, e.g. for multipart requests.
-
-
Constructor Details
-
Hints
public Hints()
-
-
Method Details
-
from
Create a map wit a single hint viaCollections.singletonMap(K, V).- Parameters:
hintName- the hint namevalue- the hint value- Returns:
- the created map
-
none
Return an empty map of hints viaCollections.emptyMap().- Returns:
- the empty map
-
getRequiredHint
Obtain the value for a required hint.- Type Parameters:
T- the hint type to cast to- Parameters:
hints- the hints maphintName- the required hint name- Returns:
- the hint value
- Throws:
IllegalArgumentException- if the hint is not found
-
getLogPrefix
Obtain the hintLOG_PREFIX_HINT, if present, or an empty String.- Parameters:
hints- the hints passed to the encode method- Returns:
- the log prefix
-
isLoggingSuppressed
Whether to suppress logging based on the hintSUPPRESS_LOGGING_HINT.- Parameters:
hints- the hints map- Returns:
- whether logging of data is allowed
-
merge
public static Map<String,Object> merge(@Nullable Map<String, Object> hints1, @Nullable Map<String, Object> hints2) Merge two maps of hints, creating and copying into a new map if both have values, or returning the non-empty map, or an empty map if both are empty.- Parameters:
hints1- 1st map of hintshints2- 2nd map of hints- Returns:
- a single map with hints from both
-
merge
public static Map<String,Object> merge(@Nullable Map<String, Object> hints, String hintName, Object hintValue) Merge a single hint into a map of hints, possibly creating and copying all hints into a new map, or otherwise if the map of hints is empty, creating a new single entry map.- Parameters:
hints- a map of hints to be mergedhintName- the hint name to mergehintValue- the hint value to merge- Returns:
- a single map with all hints
-
touchDataBuffer
public static void touchDataBuffer(DataBuffer buffer, @Nullable Map<String, Object> hints, Log logger) If the hints contain aLOG_PREFIX_HINTand the given logger has DEBUG level enabled, apply the log prefix as a hint to the given buffer viaDataBufferUtils.touch(DataBuffer, Object).- Parameters:
buffer- the buffer to touchhints- the hints map to check for a log prefixlogger- the logger whose level to check- Since:
- 5.3.2
-