Author: knopp
Date: Sun Mar 29 18:52:08 2009
New Revision: 759743
URL: http://svn.apache.org/viewvc?rev=759743&view=rev
Log:
this could work
Modified:
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/PageManager.java
Modified:
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/PageManager.java
URL:
http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/PageManager.java?rev=759743&r1=759742&r2=759743&view=diff
==============================================================================
---
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/PageManager.java
(original)
+++
wicket/sandbox/knopp/experimental/wicket-ng/src/main/java/org/apache/wicket/page/PageManager.java
Sun Mar 29 18:52:08 2009
@@ -16,34 +16,79 @@
*/
package org.apache.wicket.page;
+import java.io.Serializable;
+
import org.apache.wicket.Page;
/**
- * Session relative page manager.
+ * Page manager.
*
* @author Matej Knopp
*/
public interface PageManager
{
/**
- * Retrieves page instance with given id.
+ * Retrieve page instance with given id.
*
+ * @param context
* @param id
* @return page instance or <code>null</code>
*/
- public Page getPage(int id);
-
+ public Page getPage(Context context, int id);
+
/**
- * Marks page as changed
+ * Marks page as changed.
*
+ * @param context
* @param page
*/
- public void touchPage(Page page);
-
+ public void touchPage(Context context, Page page);
+
/**
- * Increases the page version
+ * Increases the page version.
*
* @param page
*/
- public void bumpVersion(Page page);
+ public void bumpVersion(Context context, Page page);
+
+ /**
+ * Commits the changes to external storage if the manager uses it.
+ *
+ * @param context
+ */
+ public void commitRequest(Context context);
+
+ /**
+ * Invoked when new session has been created.
+ *
+ * @param context
+ */
+ public void newSessionCreated(Context context);
+
+ /**
+ * Invoked when the session has been expired.
+ *
+ * @param context
+ */
+ public void sessionExpired(String sesionId);
+
+ /**
+ * Context object for {...@link PageManager}. This decouples the
{...@link PageManager} from request
+ * cycle and session.
+ *
+ * @author Matej Knopp
+ *
+ */
+ public interface Context
+ {
+ public void setRequestData(Object data);
+
+ public Object getRequestData();
+
+ public void setSessionAttribute(String key, Serializable value);
+
+ public Serializable getSessionAttribute(String key);
+
+ public String getSessionId();
+ };
}