Class AbstractCachedDataManager
java.lang.Object
me.lucko.luckperms.common.cacheddata.AbstractCachedDataManager
- All Implemented Interfaces:
net.luckperms.api.cacheddata.CachedDataManager
- Direct Known Subclasses:
HolderCachedDataManager
public abstract class AbstractCachedDataManager
extends Object
implements net.luckperms.api.cacheddata.CachedDataManager
Abstract implementation of
CachedDataManager.-
Nested Class Summary
Nested classes/interfaces inherited from interface net.luckperms.api.cacheddata.CachedDataManager
net.luckperms.api.cacheddata.CachedDataManager.Container<T extends net.luckperms.api.cacheddata.CachedData> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract CalculatorFactoryGets theCalculatorFactoryused to buildPermissionCalculators.protected abstract net.luckperms.api.metastacking.MetaStackDefinitiongetDefaultMetaStackDefinition(net.luckperms.api.node.ChatMetaType type) Gets the defaultMetaStackDefinitionfor use if one wasn't specifically provided.getMetaData(@NonNull net.luckperms.api.query.QueryOptions queryOptions) protected abstract CacheMetadatagetMetadataForQueryOptions(net.luckperms.api.query.QueryOptions queryOptions) Returns aCacheMetadatainstance for the givenQueryOptions.getPermissionData(@NonNull net.luckperms.api.query.QueryOptions queryOptions) protected abstract net.luckperms.api.query.QueryOptionsGets the most appropriate active query options instance for the holder.final voidfinal void@NonNull net.luckperms.api.cacheddata.CachedDataManager.Container<net.luckperms.api.cacheddata.CachedMetaData> metaData()final void@NonNull net.luckperms.api.cacheddata.CachedDataManager.Container<net.luckperms.api.cacheddata.CachedPermissionData> protected abstract voidresolveMeta(MetaAccumulator accumulator, net.luckperms.api.query.QueryOptions queryOptions) Resolves the owners meta data for the givenQueryOptions.resolvePermissions(IntFunction<M> mapFactory, net.luckperms.api.query.QueryOptions queryOptions) Resolves the owners permissions data for the givenQueryOptions.
-
Constructor Details
-
AbstractCachedDataManager
-
-
Method Details
-
getPlugin
-
permissionData
public @NonNull net.luckperms.api.cacheddata.CachedDataManager.Container<net.luckperms.api.cacheddata.CachedPermissionData> permissionData()- Specified by:
permissionDatain interfacenet.luckperms.api.cacheddata.CachedDataManager
-
metaData
public @NonNull net.luckperms.api.cacheddata.CachedDataManager.Container<net.luckperms.api.cacheddata.CachedMetaData> metaData()- Specified by:
metaDatain interfacenet.luckperms.api.cacheddata.CachedDataManager
-
getPermissionData
public @NonNull PermissionCache getPermissionData(@NonNull net.luckperms.api.query.QueryOptions queryOptions) - Specified by:
getPermissionDatain interfacenet.luckperms.api.cacheddata.CachedDataManager
-
getMetaData
public @NonNull MonitoredMetaCache getMetaData(@NonNull net.luckperms.api.query.QueryOptions queryOptions) - Specified by:
getMetaDatain interfacenet.luckperms.api.cacheddata.CachedDataManager
-
getPermissionData
- Specified by:
getPermissionDatain interfacenet.luckperms.api.cacheddata.CachedDataManager
-
getMetaData
- Specified by:
getMetaDatain interfacenet.luckperms.api.cacheddata.CachedDataManager
-
getMetadataForQueryOptions
protected abstract CacheMetadata getMetadataForQueryOptions(net.luckperms.api.query.QueryOptions queryOptions) Returns aCacheMetadatainstance for the givenQueryOptions.- Parameters:
queryOptions- the query options the cache is for- Returns:
- the metadata instance
-
getQueryOptions
protected abstract net.luckperms.api.query.QueryOptions getQueryOptions()Gets the most appropriate active query options instance for the holder.- Returns:
- the query options
-
getCalculatorFactory
Gets theCalculatorFactoryused to buildPermissionCalculators.- Returns:
- the calculator factory
-
getDefaultMetaStackDefinition
protected abstract net.luckperms.api.metastacking.MetaStackDefinition getDefaultMetaStackDefinition(net.luckperms.api.node.ChatMetaType type) Gets the defaultMetaStackDefinitionfor use if one wasn't specifically provided.- Parameters:
type- the type of meta stack- Returns:
- a meta stack definition instance
-
resolvePermissions
protected abstract <M extends Map<String,net.luckperms.api.node.Node>> M resolvePermissions(IntFunction<M> mapFactory, net.luckperms.api.query.QueryOptions queryOptions) Resolves the owners permissions data for the givenQueryOptions.- Type Parameters:
M- the map type- Parameters:
mapFactory- a function to create a map instance to return the results inqueryOptions- the query options- Returns:
- the resolved permissions
-
resolveMeta
protected abstract void resolveMeta(MetaAccumulator accumulator, net.luckperms.api.query.QueryOptions queryOptions) Resolves the owners meta data for the givenQueryOptions.- Parameters:
accumulator- the accumulator to add resolved meta toqueryOptions- the query options
-
invalidate
public final void invalidate()- Specified by:
invalidatein interfacenet.luckperms.api.cacheddata.CachedDataManager
-
invalidatePermissionCalculators
public final void invalidatePermissionCalculators()- Specified by:
invalidatePermissionCalculatorsin interfacenet.luckperms.api.cacheddata.CachedDataManager
-
performCacheCleanup
public final void performCacheCleanup()
-