Class CacheConfigParser
- java.lang.Object
-
- net.shibboleth.idp.attribute.resolver.spring.dc.impl.CacheConfigParser
-
public class CacheConfigParser extends Object
Utility class for parsing v2 cache configuration.
-
-
Field Summary
Fields Modifier and Type Field Description private ElementconfigElementBase XML element.static longDEFAULT_CACHE_ENTRIESDocumented maximumCachedElements maximum (500).static DurationDEFAULT_TTL_MSDocumented cache lifetime (4 hours).private org.slf4j.LoggerlogClass logger.static QNameRESULT_CACHE_BEAN_RESOLVERResultCacheBean name.static QNameRESULT_CACHE_RESOLVERResultCache name.
-
Constructor Summary
Constructors Constructor Description CacheConfigParser(Element config)Creates a new cache config parser with the supplied ResultsCache element.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static 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.BeanDefinitioncreateCache(ParserContext parserContext)Creates a new cache bean definition from a v2 XML configuration.static StringgetBeanResultCacheID(Element config)Get the bean ID of an externally defined result cache.private static longgetMaxSize(String maximumSize)Helper function to return size provided with a suitable default.private static DurationgetTimeToLive(String timeToLive)Helper function to return the TTL with a suitable default.
-
-
-
Field Detail
-
RESULT_CACHE_RESOLVER
@Nonnull public static final QName RESULT_CACHE_RESOLVER
ResultCache name.
-
RESULT_CACHE_BEAN_RESOLVER
@Nonnull public static final QName RESULT_CACHE_BEAN_RESOLVER
ResultCacheBean name.
-
DEFAULT_CACHE_ENTRIES
public static final long DEFAULT_CACHE_ENTRIES
Documented maximumCachedElements maximum (500). Unfortunately it has to be here since we do not own the implemented class- See Also:
- Constant Field Values
-
DEFAULT_TTL_MS
@Nonnull public static final Duration 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 log
Class logger.
-
configElement
@Nonnull private final Element configElement
Base XML element.
-
-
Constructor Detail
-
CacheConfigParser
public CacheConfigParser(@Nonnull Element config)Creates a new cache config parser with the supplied ResultsCache element.- Parameters:
config- LDAPDirectory element
-
-
Method Detail
-
createCache
@Nonnull public BeanDefinition createCache(@Nonnull ParserContext parserContext)
Creates a new cache bean definition from a v2 XML configuration.- Parameters:
parserContext- bean parser context- Returns:
- cache bean definition
-
getMaxSize
private static long getMaxSize(@Nullable String maximumSize)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
@Nonnull private static Duration getTimeToLive(@Nullable String timeToLive)
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,IdPAttribute>> buildCacheAccess(@Nullable String timeToLive, @Nullable String maximumSize)
Factory method to leverage spring property replacement functionality. The default settings are a max size ofDEFAULT_CACHE_ENTRIESand 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,IdPAttribute>> buildCacheWrite(@Nullable String timeToLive, @Nullable String maximumSize)
Factory method to leverage spring property replacement functionality. The default settings are a max size ofDEFAULT_CACHE_ENTRIESand an expiration timeDEFAULT_TTL_MS. The Cache is set to set the timer on Populate- Parameters:
timeToLive- duration stringmaximumSize- long string- Returns:
- cache
-
-