Class ClientPersistentFieldStorageImpl
java.lang.Object
org.apache.tapestry5.internal.services.ClientPersistentFieldStorageImpl
- All Implemented Interfaces:
ClientPersistentFieldStorage
,PersistentFieldStrategy
@Scope("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
ConstructorsConstructorDescriptionClientPersistentFieldStorageImpl
(Request request, ClientDataEncoder clientDataEncoder, SessionPersistedObjectAnalyzer analyzer) -
Method Summary
Modifier and TypeMethodDescriptionvoid
discardChanges
(String pageName) Discards any saved changes for the name page.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
-
Constructor Details
-
ClientPersistentFieldStorageImpl
public ClientPersistentFieldStorageImpl(Request request, ClientDataEncoder clientDataEncoder, SessionPersistedObjectAnalyzer analyzer)
-
-
Method Details
-
updateLink
Description copied from interface:ClientPersistentFieldStorage
Updates a link, adding a query parameter to it (if necessary) to store- Specified by:
updateLink
in interfaceClientPersistentFieldStorage
-
gatherFieldChanges
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 interfacePersistentFieldStrategy
-
discardChanges
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 presumably 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 interfacePersistentFieldStrategy
- Parameters:
pageName
- logical name of page whose field persistent data should be discarded
-
postChange
Description copied from interface:PersistentFieldStrategy
Posts a change of a persistent property.- Specified by:
postChange
in interfacePersistentFieldStrategy
- Parameters:
pageName
- the name of the page containing the componentcomponentId
- 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 changednewValue
- the new value for the field, possibly null
-