javax.portlet.PortletURL Maven / Gradle / Ivy
/* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.
*/
/*
* NOTE: this source code is based on an early draft version of JSR 286 and not intended for product
* implementations. This file may change or vanish in the final version of the JSR 286 specification.
*/
/*
* This source code implements specifications defined by the Java
* Community Process. In order to remain compliant with the specification
* DO NOT add / change / or delete method signatures!
*/
/**
* Copyright 2006 IBM Corporation.
*/
package javax.portlet;
/**
* The PortletURL
interface represents a URL
* that reference the portlet itself.
*
* A PortletURL is created through the RenderResponse
* or ResourceResponse
.
* Parameters, a portlet mode, a window state and a security level
* can be added to PortletURL
objects.
*
* There are two types of PortletURLs:
*
* - Action URLs, they are created with
createActionURL
, and
* trigger an action request followed by a render request.
* - Render URLs, they are created with
createRenderURL
, and
* trigger a render request.
*
*
* The string representation of a PortletURL does not need to be a valid
* URL at the time the portlet is generating its content. It may contain
* special tokens that will be converted to a valid URL, by the portal,
* before the content is returned to the client.
*/
public interface PortletURL extends BaseURL
{
/**
* Indicates the window state the portlet should be in, if this
* portlet URL triggers a request.
*
* A URL can not have more than one window state attached to it.
* If more than one window state is set only the last one set
* is attached to the URL.
*
* @param windowState
* the portlet window state
*
* @exception WindowStateException
* if the portlet cannot switch to this state,
* because the portal does not support this state, the portlet has not
* declared in its deployment descriptor that it supports this state, or the current
* user is not allowed to switch to this state.
* The PortletRequest.isWindowStateAllowed()
method can be used
* to check if the portlet can set a given window state.
* @see PortletRequest#isWindowStateAllowed
*/
public void setWindowState (WindowState windowState)
throws WindowStateException;
/**
* Indicates the portlet mode the portlet must be in, if this
* portlet URL triggers a request.
*
* A URL can not have more than one portlet mode attached to it.
* If more than one portlet mode is set only the last one set
* is attached to the URL.
*
* @param portletMode
* the portlet mode
*
* @exception PortletModeException
* if the portlet cannot switch to this mode,
* because the portal does not support this mode, the portlet has not
* declared in its deployment descriptor that it supports this mode for the current markup,
* or the current user is not allowed to switch to this mode.
* The PortletRequest.isPortletModeAllowed()
method can be used
* to check if the portlet can set a given portlet mode.
* @see PortletRequest#isPortletModeAllowed
*/
public void setPortletMode (PortletMode portletMode)
throws PortletModeException;
/**
* Returns the currently set portlet mode on this PortletURL.
*
* @since 2.0
*
* @return the portlet mode, or null
if none is set
*/
public PortletMode getPortletMode ();
/**
* Returns the currently set window state on this PortletURL.
*
* @since 2.0
*
* @return the window state, or null
if none is set
*/
public WindowState getWindowState ();
/**
* Removes the specified public render parameter.
* The name must reference a public render parameter defined
* in the portlet deployment descriptor under the
* public-render-parameter
element with the
* identifier
mapping to the parameter name.
*
* Note that calling this method on a PortletURL of type
* Action URL does not have any effect.
*
* @param name a String
specifying
* the name of the public render parameter to be removed
*
* @exception java.lang.IllegalArgumentException
* if name is null
.
* @since 2.0
*/
public void removePublicRenderParameter(String name);
}