📄 portletcontext.java
字号:
/* 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;
import java.net.MalformedURLException;
/**
* The <CODE>PortletContext</CODE> interface defines a portlet view
* of the portlet container.
* The <CODE>PortletContext</CODE> also makes resources available
* to the portlet. Using the context, a portlet can access
* the portlet log, and obtain URL references to resources.
*
* <p>There is one context per "portlet application" per Java Virtual Machine. (A
* "portlet application" is a collection of portlets, servlets, and content installed
* under a specific subset of the server URL namespace, such as <code>/catalog</code>.
* They are possibly installed via a <code>.war</code> file.)
* As a web application, a portlet application also has a servlet context.
* The portlet context leverages most of its functionality from the
* servlet context of the portlet application.
* <p>
* Attributes stored in the context are global for <I>all</I> users and <I>all</I>
* components in the portlet application.
* <p>
* In the case of a web
* application marked "distributed" in its deployment descriptor, there will
* be one context instance for each virtual machine. In this situation, the
* context cannot be used as a location to share global information (because
* the information is not truly global). Use an external resource, such as
* a database to achieve sharing on a global scope.
*/
public interface PortletContext
{
/**
* Returns the name and version of the portlet container in which the
* portlet is running.
*
* <P>
* The form of the returned string is <code>containername/versionnumber</code>.
*
*
* @return the string containing at least name and version number
*/
public String getServerInfo ();
/**
* Returns a {@link PortletRequestDispatcher} object that acts
* as a wrapper for the resource located at the given path.
* A <code>PortletRequestDispatcher</code> object can be used include the
* resource in a response. The resource can be dynamic or static.
*
* <p>The pathname must begin with a slash (<code> / </code>) and is interpreted as relative
* to the current context root.
*
* <p>This method returns <code>null</code> if the <code>PortletContext</code>
* cannot return a <code>PortletRequestDispatcher</code>
* for any reason.
*
*
* @param path a <code>String</code> specifying the pathname
* to the resource
* @return a <code>PortletRequestDispatcher</code> object
* that acts as a wrapper for the resource
* at the specified path.
* @see PortletRequestDispatcher
*/
public PortletRequestDispatcher getRequestDispatcher(String path);
/**
* Returns a {@link PortletRequestDispatcher} object that acts
* as a wrapper for the named servlet.
*
* <p>Servlets (and also JSP pages) may be given names via server
* administration or via a web application deployment descriptor.
*
* <p>This method returns <code>null</code> if the
* <code>PortletContext</code> cannot return a
* <code>PortletRequestDispatcher</code> for any reason.
*
*
* @param name a <code>String</code> specifying the name
* of a servlet to be wrapped
*
* @return a <code>PortletRequestDispatcher</code> object
* that acts as a wrapper for the named servlet
*
* @see PortletRequestDispatcher
*
*/
public PortletRequestDispatcher getNamedDispatcher(String name);
/**
* Returns the resource located at the given path as an InputStream object.
* The data in the InputStream can be of any type or length. The method returns
* null if no resource exists at the given path.
* <p>
* In order to access protected resources the path has to be prefixed with
* <code>/WEB-INF/</code> (for example <code>/WEB-INF/myportlet/myportlet.jsp</code>).
* Otherwise, the direct path is used
* (for example <code>/myportlet/myportlet.jsp</code>).
*
* @param path the path to the resource
*
* @return the input stream
*/
public java.io.InputStream getResourceAsStream (String path);
/**
* Returns the major version of the Portlet API that this portlet
* container supports.
*
* @return the major version
*
* @see #getMinorVersion()
*/
public int getMajorVersion ();
/**
* Returns the minor version of the Portlet API that this portlet
* container supports.
*
* @return the minor version
*
* @see #getMajorVersion()
*/
public int getMinorVersion ();
/**
* Returns the MIME type of the specified file, or <code>null</code> if
* the MIME type is not known. The MIME type is determined
* by the configuration of the portlet container and may be specified
* in a web application deployment descriptor. Common MIME
* types are <code>text/html</code> and <code>image/gif</code>.
*
*
* @param file a <code>String</code> specifying the name
* of a file
*
* @return a <code>String</code> specifying the MIME type of the file
*
*/
public String getMimeType(String file);
/**
* Returns a <code>String</code> containing the real path
* for a given virtual path. For example, the path <code>/index.html</code>
* returns the absolute file path of the portlet container file system.
*
* <p>The real path returned will be in a form
* appropriate to the computer and operating system on
* which the portlet container is running, including the
* proper path separators. This method returns <code>null</code>
* if the portlet container cannot translate the virtual path
* to a real path for any reason (such as when the content is
* being made available from a <code>.war</code> archive).
*
* @param path a <code>String</code> specifying a virtual path
*
* @return a <code>String</code> specifying the real path,
* or null if the transformation cannot be performed.
*/
public String getRealPath(String path);
/**
* Returns a directory-like listing of all the paths to resources within
* the web application longest sub-path of which
* matches the supplied path argument. Paths indicating subdirectory paths
* end with a slash (<code>/</code>). The returned paths are all
* relative to the root of the web application and have a leading slash.
* For example, for a web application
* containing<br><br>
* <code>
* /welcome.html<br>
* /catalog/index.html<br>
* /catalog/products.html<br>
* /catalog/offers/books.html<br>
* /catalog/offers/music.html<br>
* /customer/login.jsp<br>
* /WEB-INF/web.xml<br>
* /WEB-INF/classes/com.acme.OrderPortlet.class,<br><br>
* </code>
*
* <code>getResourcePaths("/")</code> returns
* <code>{"/welcome.html", "/catalog/", "/customer/", "/WEB-INF/"}</code><br>
* <code>getResourcePaths("/catalog/")</code> returns
* <code>{"/catalog/index.html", "/catalog/products.html", "/catalog/offers/"}</code>.<br>
*
* @param path
* the partial path used to match the resources, which must start with a slash
* @return a Set containing the directory listing, or <code>null</code> if there
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -