org.apache.tapestry5.internal.services
Class ClientPersistentFieldStorageImpl

java.lang.Object
  extended by org.apache.tapestry5.internal.services.ClientPersistentFieldStorageImpl
All Implemented Interfaces:
ClientPersistentFieldStorage, PersistentFieldStrategy

@Scope(value="perthread")
public class ClientPersistentFieldStorageImpl
extends Object
implements ClientPersistentFieldStorage

Manages client-persistent values on behalf of a ClientPersistentFieldStorageImpl. Some effort is made to ensure that we don't uncessarily convert between objects and Base64 (the encoding used to record the value on the client).


Constructor Summary
ClientPersistentFieldStorageImpl(Request request, ClientDataEncoder clientDataEncoder)
           
 
Method Summary
 void discardChanges(String pageName)
          Discards any saved changes for the name page.
 Collection<PersistentFieldChange> gatherFieldChanges(String pageName)
          Finds all persistent changes previously stored for the named page (for the current active session or client).
 void postChange(String pageName, String componentId, String fieldName, Object newValue)
          Posts a change of a persistent property.
 void updateLink(Link link)
          Updates a link, adding a query parameter to it (if necessary) to store
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClientPersistentFieldStorageImpl

public ClientPersistentFieldStorageImpl(Request request,
                                        ClientDataEncoder clientDataEncoder)
Method Detail

updateLink

public void updateLink(Link link)
Description copied from interface: ClientPersistentFieldStorage
Updates a link, adding a query parameter to it (if necessary) to store

Specified by:
updateLink in interface ClientPersistentFieldStorage

gatherFieldChanges

public Collection<PersistentFieldChange> gatherFieldChanges(String pageName)
Description copied from interface: PersistentFieldStrategy
Finds all persistent changes previously stored for the named page (for the current active session or client).

Specified by:
gatherFieldChanges in interface PersistentFieldStrategy

discardChanges

public void discardChanges(String pageName)
Description copied from interface: PersistentFieldStrategy
Discards any saved changes for the name page. There is no expectation that data already gathered from the strategy and persumably dumped into component instance fields will be affected, but future field access (within this request or a later one) will show no data for the indicated page.

Specified by:
discardChanges in interface PersistentFieldStrategy
Parameters:
pageName - logical name of page whose field persistent data should be discarded

postChange

public void postChange(String pageName,
                       String componentId,
                       String fieldName,
                       Object newValue)
Description copied from interface: PersistentFieldStrategy
Posts a change of a persistent property.

Specified by:
postChange in interface PersistentFieldStrategy
Parameters:
pageName - the name of the page containing the component
componentId - the nested id path of the component (or null for the page's root component)
fieldName - the name of the field whose persistent value has changed
newValue - the new value for the field, possibly null


Copyright © 2003-2012 The Apache Software Foundation.