/* * Copyright 2000-2001,2004 The Apache Software Foundation. * * 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.apache.jetspeed.portal; // Turbine stuff import org.apache.turbine.util.RunData; /** * This interface allows implementing portlets to modify the * behavior of their PortletControl manager by specifically allowing or * refusing window manipulation actions. * If the given PortletControl implements these actions, it must use * this information. * * @author <a href="mailto:raphael@apache.org">Rapha謖 Luta</a> * @author <a href="mailto:re_carrasco@bco011.sonda.cl">Roberto Carrasco</a> * @author <a href="mailto:morciuch@apache.org">Mark Orciuch</a> */ public interface PortletState { /** * Returns true if the portlet allows the use to remove it from its portlat * page * * @param rundata the RunData object for the current request */ public boolean allowClose( RunData rundata ); /** * Returns true if this portlet is currently closed */ public boolean isClosed(RunData data); /** * Toggles the portlet state between closed and normal * * @param minimized the new portlet state * @param data the RunData for this request */ public void setClosed(boolean closed, RunData data); /** * Returns true if the portlet allows the manager to link to a information * page about this portlet * * @param rundata the RunData object for the current request */ public boolean allowInfo( RunData rundata ); /** * Returns true if the portlet supports customization of its options * * @param rundata the RunData object for the current request */ public boolean allowCustomize( RunData rundata ); /** * Returns true if the portlet allows the user to maximize it, ie use * all the display space allowed to portlets in the given pane * * @param rundata the RunData object for the current request */ public boolean allowMaximize( RunData rundata ); /** * Returns true if the portlet allows the user to minimize it. * The portlet content is not displayed when minimized * * @param rundata the RunData object for the current request */ public boolean allowMinimize( RunData rundata ); /** * Returns true if this portlet is currently minimized */ public boolean isMinimized(RunData data); /** * Toggles the portlet state between minimized and normal * * @param minimized the new portlet state * @param data the RunData for this request */ public void setMinimized(boolean minimized, RunData data); /** * Returns true if the portlet allows the user to display it in print friendly format. * * @param rundata the RunData object for the current request */ public boolean allowPrintFriendly( RunData rundata ); }