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
FieldsModifier and TypeFieldDescriptionstatic final StringName of hint exposing a prefix to use for correlating log messages.static final StringName of boolean hint whether to avoid logging data either because it's potentially sensitive, or because it has been logged by a composite encoder, for example, for multipart requests. - 
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, for example, 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
 
 
 -