Class InMemoryResourceResolverRegistry
java.lang.Object
com.svenruppert.jsentinel.policy.impl.InMemoryResourceResolverRegistry
- All Implemented Interfaces:
ResourceResolverRegistry
@ExperimentalJSentinelApi
public final class InMemoryResourceResolverRegistry
extends Object
implements ResourceResolverRegistry
Thread-safe in-memory
ResourceResolverRegistry backed by a
ConcurrentHashMap. Resolvers are keyed by their
ResourceResolver.resourceType(); re-registering replaces
the previous entry.
This is the default implementation returned by
JSentinelServiceResolver.resourceResolverRegistry() when no
SPI override is registered. Applications register their domain
resolvers into the cached instance at startup.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionLooks up a resolver by resource type.voidregister(ResourceResolver<?> resolver) Registers a resolver.Resolves the given reference and returns the resolver's attribute map.
-
Constructor Details
-
InMemoryResourceResolverRegistry
public InMemoryResourceResolverRegistry()Creates an empty registry.
-
-
Method Details
-
register
Description copied from interface:ResourceResolverRegistryRegisters a resolver. DuplicateResourceResolver.resourceType()registrations replace the previous entry.- Specified by:
registerin interfaceResourceResolverRegistry- Parameters:
resolver- non-nullresolver
-
find
Description copied from interface:ResourceResolverRegistryLooks up a resolver by resource type.- Specified by:
findin interfaceResourceResolverRegistry- Parameters:
resourceType- non-blank resource type- Returns:
- resolver, or empty if none is registered
-
resolveAttributes
Description copied from interface:ResourceResolverRegistryResolves the given reference and returns the resolver's attribute map. Returns empty when no resolver is registered for the resource type, or when the resolver itself returns empty for the id. Never throws on unknown types or ids — policies treat the absence of attributes as a graceful deny.- Specified by:
resolveAttributesin interfaceResourceResolverRegistry- Parameters:
ref- non-nullreference- Returns:
- attribute map, or empty
-