public abstract class CacheableFeatureProvider<T extends Feature> extends java.lang.Object implements FeatureProvider
Modifier and Type | Field and Description |
---|---|
protected java.util.concurrent.ConcurrentMap<java.lang.String,T> |
features |
protected java.lang.String |
scope |
protected java.util.concurrent.ConcurrentMap<java.lang.String,FeatureProvider> |
scopes |
Modifier | Constructor and Description |
---|---|
protected |
CacheableFeatureProvider(java.lang.String scope) |
Modifier and Type | Method and Description |
---|---|
T |
getFeature(java.lang.String name)
Return the feature with given name.
|
protected abstract T |
makeFeature(java.lang.String featureName) |
protected java.lang.String |
makeName(java.lang.String name) |
protected abstract FeatureProvider |
makeProvider(java.lang.String fullScopeName) |
FeatureProvider |
scope(java.lang.String name)
Provide the feature provider under scope name.
|
protected final java.lang.String scope
protected final java.util.concurrent.ConcurrentMap<java.lang.String,FeatureProvider> scopes
protected CacheableFeatureProvider(java.lang.String scope)
protected java.lang.String makeName(java.lang.String name)
public T getFeature(java.lang.String name)
FeatureProvider
getFeature
in interface FeatureProvider
name
- feature nameprotected abstract T makeFeature(java.lang.String featureName)
public FeatureProvider scope(java.lang.String name)
FeatureProvider
scope
in interface FeatureProvider
name
- scope name.protected abstract FeatureProvider makeProvider(java.lang.String fullScopeName)
Copyright © 2011–2020 The Apache Software Foundation. All rights reserved.