01: // Copyright 2006 The Apache Software Foundation
02: //
03: // Licensed under the Apache License, Version 2.0 (the "License");
04: // you may not use this file except in compliance with the License.
05: // You may obtain a copy of the License at
06: //
07: // http://www.apache.org/licenses/LICENSE-2.0
08: //
09: // Unless required by applicable law or agreed to in writing, software
10: // distributed under the License is distributed on an "AS IS" BASIS,
11: // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12: // See the License for the specific language governing permissions and
13: // limitations under the License.
14:
15: package org.apache.tapestry.services;
16:
17: import java.util.Collection;
18:
19: public interface PersistentFieldStrategy {
20: /**
21: * Posts a change of a persistent property.
22: *
23: * @param pageName
24: * the name of the page containing the component
25: * @param componentId
26: * the nested id path of the component (or null for the page's root component)
27: * @param fieldName
28: * the name of the field whose persistent value has changed
29: * @param strategy
30: * the name of the stategy used to persist the property value
31: * @param newValue
32: * the new value for the field, possibly null
33: */
34: void postChange(String pageName, String componentId,
35: String fieldName, Object newValue);
36:
37: /**
38: * Finds all persistent changes previously stored for the named page (for the current active
39: * session or client).
40: */
41: Collection<PersistentFieldChange> gatherFieldChanges(String pageName);
42: }
|