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.caching; 17 18 /** 19 * This marker interface declares a (sitemap) component as cacheable. 20 * Although this interface is deprecated it is still used for compatibility! 21 * 22 * @deprecated by the {@link CacheableProcessingComponent} interface 23 * @author <a HREF="mailto:cziegeler@apache.org">Carsten Ziegeler</a> 24 * @version CVS $Id: Cacheable.java 30932 2004-07-29 17:35:38Z vgritsenko $ 25 */ 26 public interface Cacheable { 27 28 /** 29 * Generate the unique key. 30 * This key must be unique inside the space of this component. 31 * This method must be invoked before the generateValidity() method. 32 * 33 * @return The generated key or <code>0</code> if the component 34 * is currently not cacheable. 35 */ 36 long generateKey(); 37 38 /** 39 * Generate the validity object. 40 * Before this method can be invoked the generateKey() method 41 * must be invoked. 42 * 43 * @return The generated validity object or <code>null</code> if the 44 * component is currently not cacheable. 45 */ 46 CacheValidity generateValidity(); 47 } 48