Package org.springframework.core.codec
Class Hints
- java.lang.Object
- org.springframework.core.codec.Hints
public abstract class Hints extends Object
Constants and convenience methods for working with hints.- Since:
- 5.1
- Author:
- Rossen Stoyanchev
- See Also:
ResourceRegionEncoder.BOUNDARY_STRING_HINT
Field Summary
Fields Modifier and Type Field Description static StringLOG_PREFIX_HINTName of hint exposing a prefix to use for correlating log messages.static StringSUPPRESS_LOGGING_HINTName 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.
Constructor Summary
Constructors Constructor Description Hints()
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Map<String,Object>from(String hintName, Object value)Create 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.static Map<String,Object>merge(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.static Map<String,Object>merge(Map<String,Object> hints1, 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.static Map<String,Object>none()Return an empty map of hints viaCollections.emptyMap().
Field Detail
LOG_PREFIX_HINT
public static final String LOG_PREFIX_HINT
Name of hint exposing a prefix to use for correlating log messages.
SUPPRESS_LOGGING_HINT
public static final String 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 Detail
Hints
public Hints()
Method Detail
from
public static Map<String,Object> from(String hintName, Object value)
Create a map wit a single hint viaCollections.singletonMap(K, V).- Parameters:
hintName- the hint namevalue- the hint value- Returns:
- the created map
none
public static Map<String,Object> none()
Return an empty map of hints viaCollections.emptyMap().- Returns:
- the empty map
getRequiredHint
public static <T> T getRequiredHint(@Nullable Map<String,Object> hints, String hintName)
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
public static String getLogPrefix(@Nullable Map<String,Object> hints)
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
public static boolean isLoggingSuppressed(@Nullable Map<String,Object> hints)
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(Map<String,Object> hints1, 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(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 mergehintName- the hint name to mergehintValue- the hint value to merge- Returns:
- a single map with all hints