1 /* 2 * Copyright 2000-2001,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 17 // package 18 package org.apache.jetspeed.portal.portlets; 19 20 // imports 21 import org.apache.jetspeed.portal.PortletConfig; 22 23 /*** 24 * Extend AbstractPortlet to re-define the handle used for portlet caching: 25 * This handle uses the portlet's unique id and the portal page's id to form 26 * a portlet instance id for caching. 27 * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a> 28 * @author <a href="mailto:ggolden@apache.org">Glenn R. Golden</a> 29 */ 30 public class AbstractInstancePortlet 31 extends AbstractPortlet 32 { 33 /*** 34 * Construct the handle used for caching. 35 * @param config The config object, expected to be a PortletConfig. 36 */ 37 public static Object getHandle(Object config) 38 { 39 //this implementation expects a PortletConfig object as its 40 // configuration 41 PortletConfig pc = null; 42 43 if (!(config instanceof PortletConfig)) 44 { 45 return null; 46 } 47 48 // form the key from the current request's portal page profile 49 // and the portlet id in the config 50 pc = (PortletConfig)config; 51 52 StringBuffer handle = new StringBuffer(256); 53 handle.append(pc.getPageId()); 54 handle.append('/'); 55 handle.append(pc.getPortletId()); 56 57 return handle.toString(); 58 59 } // getHandle 60 61 } // AbstractInstancePortlet 62