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();
+       };
 }


Reply via email to