1 /* 2 * Copyright 1999-2004 The Apache Software Foundation. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 package org.apache.cocoon; 17 18 /** 19 * This interface is implemented by those classes that change 20 * their behavior/results over time (non-ergodic). 21 * 22 * @author <a HREF="mailto:stefano@apache.org">Stefano Mazzocchi</a> 23 * @author <a HREF="mailto:pier@apache.org">Pierpaolo Fumagalli</a> 24 * @version CVS $Id: Modifiable.java 30932 2004-07-29 17:35:38Z vgritsenko $ 25 */ 26 public interface Modifiable 27 { 28 /** 29 * Queries the class to estimate its ergodic period termination. 30 * <br> 31 * This method is called to ensure the validity of a cached product. It 32 * is the class responsibility to provide the fastest possible 33 * implementation of this method or, whether this is not possible and the 34 * costs of the change evaluation is comparable to the production costs, 35 * to return <b>true</b> directly with no further delay, thus reducing 36 * the evaluation overhead to a minimum. 37 * 38 * @return <b>true</b> if the class ergodic period is over and the class 39 * would behave differently if processed again, <b>false</b> if the 40 * resource is still ergodic so that it doesn't require 41 * reprocessing. 42 */ 43 boolean modifiedSince( long date ); 44 } 45