V - The rule key type.public class DefaultRuleKeyCache<V> extends Object implements TrackableRuleKeyCache<V>
RuleKey cache used by a RuleKeyFactory. Inputs and dependencies of cached rule
 keys are tracked to allow for invalidations based on changed inputs. As such, this cache is
 usable between multiple build runs.| Constructor and Description | 
|---|
| DefaultRuleKeyCache() | 
| Modifier and Type | Method and Description | 
|---|---|
| V | get(AddsToRuleKey appendable,
   java.util.function.Function<? super AddsToRuleKey,RuleKeyResult<V>> create,
   CacheStatsTracker statsTracker) | 
| V | get(BuildEngineAction action,
   CacheStatsTracker statsTracker) | 
| V | get(BuildEngineAction action,
   java.util.function.Function<? super BuildEngineAction,RuleKeyResult<V>> create,
   CacheStatsTracker statsTracker) | 
| com.google.common.collect.ImmutableList<Map.Entry<BuildRule,V>> | getCachedBuildRules() | 
| void | invalidateAll(CacheStatsTracker statsTracker)Invalidate everything in the cache. | 
| void | invalidateAllExceptFilesystems(com.google.common.collect.ImmutableSet<ProjectFilesystem> filesystems,
                              CacheStatsTracker statsTracker)Invalidate all inputs *not* from the given  ProjectFilesystems and their transitive
 dependents. | 
| void | invalidateFilesystem(ProjectFilesystem filesystem,
                    CacheStatsTracker statsTracker)Invalidate all inputs from a given  ProjectFilesystemand their transitive dependents. | 
| void | invalidateInputs(Iterable<com.facebook.buck.rules.keys.RuleKeyInput> inputs,
                CacheStatsTracker statsTracker)Invalidate the given inputs and all their transitive dependents. | 
@Nullable public V get(BuildEngineAction action, CacheStatsTracker statsTracker)
get in interface TrackableRuleKeyCache<V>public V get(BuildEngineAction action, java.util.function.Function<? super BuildEngineAction,RuleKeyResult<V>> create, CacheStatsTracker statsTracker)
get in interface TrackableRuleKeyCache<V>public V get(AddsToRuleKey appendable, java.util.function.Function<? super AddsToRuleKey,RuleKeyResult<V>> create, CacheStatsTracker statsTracker)
get in interface TrackableRuleKeyCache<V>public void invalidateInputs(Iterable<com.facebook.buck.rules.keys.RuleKeyInput> inputs, CacheStatsTracker statsTracker)
invalidateInputs in interface TrackableRuleKeyCache<V>public void invalidateAllExceptFilesystems(com.google.common.collect.ImmutableSet<ProjectFilesystem> filesystems, CacheStatsTracker statsTracker)
ProjectFilesystems and their transitive
 dependents.invalidateAllExceptFilesystems in interface TrackableRuleKeyCache<V>public void invalidateFilesystem(ProjectFilesystem filesystem, CacheStatsTracker statsTracker)
ProjectFilesystem and their transitive dependents.invalidateFilesystem in interface TrackableRuleKeyCache<V>public void invalidateAll(CacheStatsTracker statsTracker)
invalidateAll in interface TrackableRuleKeyCache<V>public com.google.common.collect.ImmutableList<Map.Entry<BuildRule,V>> getCachedBuildRules()
getCachedBuildRules in interface TrackableRuleKeyCache<V>