Interface InvalidationEventHub

All Known Subinterfaces:
InternalComponentInvalidationEventHub, MessagesSource, ResourceChangeTracker, ResourceDigestManager
All Known Implementing Classes:
ComponentTemplateSourceImpl, InternalComponentInvalidationEventHubImpl, InvalidationEventHubImpl, MessagesSourceImpl, ResourceChangeTrackerImpl, ResourceDigestManagerImpl

public interface InvalidationEventHub
An object which manages a list of InvalidationListeners. There are multiple event hub services implementing this interface, each with a specific marker annotation; each can register listeners and fire events; these are based on the type of resource that has been invalidated. Tapestry has built-in support for:
message catalog resources
ComponentMessages marker annotation
component templates
ComponentTemplates marker annotation
component classes
ComponentClasses marker annotation
Starting in Tapestry 5.3, these services are disabled in production (it does nothing).
Since:
5.1.0.0
  • Method Details

    • addInvalidationListener

      Deprecated.
      Adds a listener, who needs to know when an underlying resource of a given category has changed (so that the receiver may discard any cached data that may have been invalidated). Does nothing in production mode.
    • addInvalidationCallback

      Adds a callback that is invoked when an underlying tracked resource has changed. Does nothing in production mode.
      Since:
      5.4
    • clearOnInvalidation

      void clearOnInvalidation(Map<?,?> map)
      Adds a callback that clears the map.
      Since:
      5.4
    • addInvalidationCallback

      Adds a callback, as a function that receives a list of strings and also returns a list of strings, that is invoked when one or more listed underlying tracked resource have changed. An empty list should be considered as all resources being changed and any caches needing to be cleared. The return value of the function should be a non-null, but possibly empty, list of other resources that also need to be invalidated in a recursive fashion. This method does nothing in production mode.
      Since:
      5.8.3
    • fireInvalidationEvent

      @IncompatibleChange(release="5.8.3", details="Added method") void fireInvalidationEvent(List<String> resources)
      Notify resource-specific invalidations to listeners.
      Since:
      5.8.3