Interface ResourceResolverRegistry
- All Known Implementing Classes:
InMemoryResourceResolverRegistry
Lookup of
ResourceResolvers by resource type and one-shot
resolveAttributes(ResourceRef) pipeline for policy
predicates.
Discovered via java.util.ServiceLoader; consuming
applications register a default implementation in
META-INF/services/com.svenruppert.jsentinel.policy.spi.ResourceResolverRegistry.
If no implementation is registered, the JSentinelServiceResolver
supplies an in-memory default into which individual
ResourceResolvers are registered programmatically at
startup.
Implementations should be thread-safe: resolver registration typically happens at startup, resolution runs on every protected access.
-
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.
-
Method Details
-
register
Registers a resolver. DuplicateResourceResolver.resourceType()registrations replace the previous entry.- Parameters:
resolver- non-nullresolver
-
find
Looks up a resolver by resource type.- Parameters:
resourceType- non-blank resource type- Returns:
- resolver, or empty if none is registered
-
resolveAttributes
Resolves 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.- Parameters:
ref- non-nullreference- Returns:
- attribute map, or empty
-