Package io.wcm.sling.commons.caservice
Interface ContextAwareService
-
@ConsumerType public interface ContextAwareService
Marker interface for Context-Aware services.If multiple implementations of an OSGi service interface or class exists the
ContextAwareServiceResolver
can be used to picks the implementation with the best match for the current resource context/path in the resource hierarchy.This interface has no methods, the metadata for detecting the matching paths is published via the properties declared by the constants of this interface. The properties can be set as service properties or as bundle header. Service property is checked first, if it is not set there the bundle header of the bundle which registered the service is checked as fallback.
If multiple service implementations exist which match for a given resource path the one with the highest service ranking is picked.
-
-
Field Summary
Fields Modifier and Type Field Description static @NotNull java.lang.String
PROPERTY_ACCEPTS_CONTEXT_PATH_EMPTY
Accepts empty context paths.static @NotNull java.lang.String
PROPERTY_CONTEXT_PATH_BLACKLIST_PATTERN
Context path blacklist expression.static @NotNull java.lang.String
PROPERTY_CONTEXT_PATH_PATTERN
Context path whitelist expression.
-
-
-
Field Detail
-
PROPERTY_CONTEXT_PATH_PATTERN
@NotNull static final @NotNull java.lang.String PROPERTY_CONTEXT_PATH_PATTERN
Context path whitelist expression. Service property or bundle header defining a regular expression the context resource path is matched against. Only if the path is matching the service is considered as candidate. If the property is not set all resource paths are accepted.- See Also:
- Constant Field Values
-
PROPERTY_CONTEXT_PATH_BLACKLIST_PATTERN
@NotNull static final @NotNull java.lang.String PROPERTY_CONTEXT_PATH_BLACKLIST_PATTERN
Context path blacklist expression. Service property or bundle header defining a regular expression the context resource path is matched against. If the path is matching the service is not considered as candidate. If the property is not set no resource paths are blacklisted.- See Also:
- Constant Field Values
-
PROPERTY_ACCEPTS_CONTEXT_PATH_EMPTY
@NotNull static final @NotNull java.lang.String PROPERTY_ACCEPTS_CONTEXT_PATH_EMPTY
Accepts empty context paths. Service property or bundle header that can be set to "true" to signal that this service implementation also should be considered as candidate if no context resource exists and thus the context path is empty (null). If the property is not set the implementation is not considered as candidate for empty resource paths.- See Also:
- Constant Field Values
-
-