All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.wicket.page.IPageManager Maven / Gradle / Ivy

Go to download

Wicket is a Java web application framework that takes simplicity, separation of concerns and ease of development to a whole new level. Wicket pages can be mocked up, previewed and later revised using standard WYSIWYG HTML design tools. Dynamic content processing and form handling is all handled in Java code using a first-class component model backed by POJO data beans that can easily be persisted using your favorite technology.

There is a newer version: 10.0.0
Show newest version
/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.apache.wicket.page;


/**
 * Page manager.
 * 
 * @author Matej Knopp
 */
public interface IPageManager
{
	/**
	 * 
	 * @return the page manager context
	 */
	IPageManagerContext getContext();

	/**
	 * Retrieve page instance with given id.
	 * 
	 * @param id
	 *      the id of the page to load
	 * @return page instance or null
	 * @throws CouldNotLockPageException if the page is already locked by another thread
	 * and the lock cannot be acquired for some timeout
	 */
	public IManageablePage getPage(int id) throws CouldNotLockPageException;

	/**
	 * Marks page as changed.
	 * 

Note:Only stateful pages are stored.

* * @param page * the page that should be stored in the page stores at the end of the request. * @throws CouldNotLockPageException if the page is already locked by another thread * and the lock cannot be acquired for some timeout */ public void touchPage(IManageablePage page) throws CouldNotLockPageException; /** * Returns whether this manager supports versioning. Managers that support versioning must store * page snapshots. * * @return whether this page manager supports versioning */ public boolean supportsVersioning(); /** * Commits the changes to external storage if the manager uses it. * * Should also detach all pages that were touched during this request. */ public void commitRequest(); /** * Invoked when new session has been created. */ public void newSessionCreated(); /** * Invoked when the session has been expired. * * @param sessionId * the id of the expired session */ public void sessionExpired(String sessionId); /** * Destroy the page manager. */ public void destroy(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy