001 package org.trails.record;
002
003 import org.apache.tapestry.IRequestCycle;
004 import org.apache.tapestry.engine.ServiceEncoding;
005 import org.apache.tapestry.record.AbstractPrefixedClientPropertyPersistenceScope;
006 import org.apache.tapestry.record.PersistentPropertyData;
007
008 /**
009 * Based on com.zillow.web.infrastructure.FormClientPropertyPersistenceStrategy
010 * described in http://wiki.apache.org/jakarta-tapestry/FormClientPersistence
011 */
012 public class FormClientPropertyPersistenceScope extends AbstractPrefixedClientPropertyPersistenceScope
013 {
014 private IRequestCycle _requestCycle;
015
016 public FormClientPropertyPersistenceScope()
017 {
018 super("form:");
019 }
020
021 public boolean shouldEncodeState(ServiceEncoding encoding, String pageName, PersistentPropertyData data)
022 {
023 return pageName.equals(_requestCycle.getPage().getPageName());
024 }
025
026 public void setRequestCycle(IRequestCycle requestCycle)
027 {
028 _requestCycle = requestCycle;
029 }
030
031 }