Class CacheConfigParser
java.lang.Object
net.shibboleth.idp.attribute.resolver.spring.dc.impl.CacheConfigParser
Utility class for parsing v2 cache configuration.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Element
Base XML element.static final long
Documented maximumCachedElements maximum (500).static final Duration
Documented cache lifetime (4 hours).private final org.slf4j.Logger
Class logger.static final QName
ResultCacheBean name.static final QName
ResultCache name. -
Constructor Summary
ConstructorsConstructorDescriptionCacheConfigParser
(Element config) Creates a new cache config parser with the supplied ResultsCache element. -
Method Summary
Modifier and TypeMethodDescriptionstatic Cache<String,
Map<String, IdPAttribute>> buildCacheAccess
(String timeToLive, String maximumSize) Factory method to leverage spring property replacement functionality.static Cache<String,
Map<String, IdPAttribute>> buildCacheWrite
(String timeToLive, String maximumSize) Factory method to leverage spring property replacement functionality.createCache
(ParserContext parserContext) Creates a new cache bean definition from a v2 XML configuration.static String
getBeanResultCacheID
(Element config) Get the bean ID of an externally defined result cache.private static long
getMaxSize
(String maximumSize) Helper function to return size provided with a suitable default.private static Duration
getTimeToLive
(String timeToLive) Helper function to return the TTL with a suitable default.
-
Field Details
-
RESULT_CACHE_RESOLVER
ResultCache name. -
RESULT_CACHE_BEAN_RESOLVER
ResultCacheBean name. -
DEFAULT_CACHE_ENTRIES
public static final long DEFAULT_CACHE_ENTRIESDocumented maximumCachedElements maximum (500). Unfortunately it has to be here since we do not own the implemented class- See Also:
-
DEFAULT_TTL_MS
Documented cache lifetime (4 hours). Unfortunately it has to be here since we do not own the implemented class. -
log
@Nonnull private final org.slf4j.Logger logClass logger. -
configElement
Base XML element.
-
-
Constructor Details
-
CacheConfigParser
Creates a new cache config parser with the supplied ResultsCache element.- Parameters:
config
- LDAPDirectory element
-
-
Method Details
-
createCache
Creates a new cache bean definition from a v2 XML configuration.- Parameters:
parserContext
- bean parser context- Returns:
- cache bean definition
-
getMaxSize
Helper function to return size provided with a suitable default.- Parameters:
maximumSize
- long string- Returns:
- the input as a long, or DEFAULT_CACHE_ENTRIES
-
getTimeToLive
Helper function to return the TTL with a suitable default.- Parameters:
timeToLive
- duration string- Returns:
- the input as a long, or DEFAULT_TTL_MS
-
buildCacheAccess
@Nullable public static Cache<String,Map<String, buildCacheAccessIdPAttribute>> (@Nullable String timeToLive, @Nullable String maximumSize) Factory method to leverage spring property replacement functionality. The default settings are a max size ofDEFAULT_CACHE_ENTRIES
and an expiration timeDEFAULT_TTL_MS
. The Cache is set to reset the timer on Access- Parameters:
timeToLive
- duration stringmaximumSize
- long string- Returns:
- cache
-
buildCacheWrite
@Nullable public static Cache<String,Map<String, buildCacheWriteIdPAttribute>> (@Nullable String timeToLive, @Nullable String maximumSize) Factory method to leverage spring property replacement functionality. The default settings are a max size ofDEFAULT_CACHE_ENTRIES
and an expiration timeDEFAULT_TTL_MS
. The Cache is set to set the timer on Populate- Parameters:
timeToLive
- duration stringmaximumSize
- long string- Returns:
- cache
-
getBeanResultCacheID
Get the bean ID of an externally defined result cache.- Parameters:
config
- the config element- Returns:
- data source bean ID
-