Package org.apache.tapestry5.internal.services

# Interface PersistentFieldManager

All Known Implementing Classes:
  `PersistentFieldManagerImpl`

@UsesMappedConfiguration(PersistentFieldStrategy.class) public interface PersistentFieldManager
Handle persistent property changes. Primarily, delegates to a number of `PersistentFieldStrategy` instances.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `discardChanges(String pageName)`
  Discards all changes for the indicated page.
  `void`
  `discardChanges(String pageName, String strategyName)`
  Discards changes on the indicated page for a specific strategy only.
  `PersistentFieldBundle`
  `gatherChanges(String pageName)`
  Locates all persistently stored changes to all properties within the page (for the current session and request) and gathers them together into a bundle.
  `void`
  `postChange(String pageName, ComponentResources resources, String fieldName, Object newValue)`
  Posts a change of a persistent property.

- ## Method Details

  - ### postChange

    void postChange(String pageName, ComponentResources resources, String fieldName, Object newValue)
    Posts a change of a persistent property.
    Parameters:
      `pageName` - the logical name of the page containing the component
      `resources` - the resources for the component or mixin (used to determine the persistence strategy)
      `fieldName` - the name of the field whose persistent value has changed
      `newValue` - the new value for the field, possibly null

  - ### gatherChanges

    PersistentFieldBundle gatherChanges(String pageName)
    Locates all persistently stored changes to all properties within the page (for the current session and request) and gathers them together into a bundle.
    Parameters:
      `pageName` - the logical name of the page to gather changes for
    Returns:
      a bundle identifying all such changes

  - ### discardChanges

    void discardChanges(String pageName)
    Discards all changes for the indicated page. This will not affect pages that have already been attached to this request, but will affect subsequent page attachments in this and later requests.
    Parameters:
      `pageName` - logical name of page whose persistent field data is to be discarded

  - ### discardChanges

    void discardChanges(String pageName, String strategyName)
    Discards changes on the indicated page for a specific strategy only. This will not affect pages that have already been attached to this request, but will affect subsequent page attachments in this and later requests.
    Parameters:
      `pageName` - logical name of page whose persistent field data is to be discarded
      `strategyName` - name of the strategy of which field data is to be discarded