Interface PerspectiveProjectCache
- All Known Implementing Classes:
- PerspectiveProjectCacheImpl
public interface PerspectiveProjectCache
The PerspectiveProjectCache manages a cache of the latest 
ProjectConfig and concatenated css classes
 compiled from the style resource JSON sources on a per project version basis. The cache is keyed by the name of the
 Project which contains the style resources. Interested parties can add and remove listeners of a project's
 config and style resource changes by subscribing to the event bus (see getEventBus()).- 
Method SummaryModifier and TypeMethodDescriptionFetch thePerspectiveProjectwith the given name from the cache.getAll()Fetches allPerspectiveProjecton the gateway and returns them as a list ofPerspectiveProjectDisplayDatagetDiff(String projectName, RuntimeProject.EffectiveProjectSnapshot snapshot) Fetches all Runnable and displayablePerspectiveProjectson the gateway and returns them as a list ofPerspectiveProjectDisplayDatacom.google.common.eventbus.EventBusFetch theEventBusfor thisPerspectiveProjectCache.
- 
Method Details- 
getEventBus@Nonnull com.google.common.eventbus.EventBus getEventBus()Fetch theEventBusfor thisPerspectiveProjectCache. Interested parties maySubscribeto receiveProjectUpdatedEventswhen projects are updated, andProjectDeletedEventswhen projects are deleted.- Returns:
- The event bus
 
- 
getFetch thePerspectiveProjectwith the given name from the cache. If the cache does not have the entry, it will attempt to load from theProjectManageror another source of record. If the ProjectManager does not have the entry, Optional.empty is returned since this means the project does not exist.- Returns:
- An Optionalcontaining the PerspectiveProject with the given name or an empty Optional if it does not exist or a problem occurred fetching it
 
- 
getAllFetches allPerspectiveProjecton the gateway and returns them as a list ofPerspectiveProjectDisplayData
- 
getDisplayableFetches all Runnable and displayablePerspectiveProjectson the gateway and returns them as a list ofPerspectiveProjectDisplayData
- 
getDiffOptional<ProjectUpdateResponse> getDiff(String projectName, RuntimeProject.EffectiveProjectSnapshot snapshot) - Parameters:
- projectName- Name of the (leaf) project to diff.
- snapshot- The effective snapshot of the copy of the project that you already have.
- Returns:
- A perspective project diff containing the things that have changed since the given snapshot was generated. Empty optional if the project doesn't exist.
 
 
-