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 String
LOG_PREFIX_HINT
Name of hint exposing a prefix to use for correlating log messages.static 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.
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 String
getLogPrefix(Map<String,Object> hints)
Obtain the hintLOG_PREFIX_HINT
, if present, or an empty String.static <T> T
getRequiredHint(Map<String,Object> hints, String hintName)
Obtain the value for a required hint.static boolean
isLoggingSuppressed(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