/* * Copyright 2005-2010 the original author or authors. * * Licensed 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.wamblee.wicket.page; import java.util.logging.Logger; import org.apache.wicket.markup.html.WebPage; /** * Bahevior that will expire a page when the page is disabled. * Implementations should implemnet * * @author Erik Brakkee * */ public abstract class ExpireBehavior extends AbstractPageBehavior { private static final Logger LOGGER = Logger.getLogger(ExpireBehavior.class.getName()); /** * Constructs the behavior. */ public ExpireBehavior() { super(); } @Override public void onDetach(WebPage aPage) { if (isExpired(aPage)) { aPage.getPageMap().remove(aPage); } } /** * Must be implemented to determine if a page is expired. * @param aPage Page to check. If a behavior instance is only used on one page then this * argument is always that page so it can bne ignored in that case. * @return */ protected abstract boolean isExpired(WebPage aPage); }