You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pluto-scm@portals.apache.org by de...@apache.org on 2007/12/14 12:05:41 UTC

svn commit: r604161 [4/5] - in /portals/pluto/branches/1.1-286-trunk-merge: ./ pluto-container/src/main/java/org/apache/pluto/internal/impl/ pluto-container/src/main/java/org/apache/pluto/wrappers/ pluto-portal-driver/src/main/java/org/apache/pluto/dri...

Modified: portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/PortletSecurityException.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/PortletSecurityException.java?rev=604161&r1=604160&r2=604161&view=diff
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/PortletSecurityException.java (original)
+++ portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/PortletSecurityException.java Fri Dec 14 03:05:38 2007
@@ -1,97 +1,97 @@
-/*  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;
-
-/**
- * A portlet should throw a <CODE>PortletSecurityException</CODE>
- * when a call fails because of security reasons.<br>
- * Additionally it can be thrown by the portal/portlet-container.
- */
-
-public class PortletSecurityException extends PortletException
-{
-
-  private static final long serialVersionUID = 1L;
-
-  private PortletSecurityException ()
-  {
-  }
-
-  /**
-   * Constructs a new security exception with the given text. The
-   * portlet container may use the text write it to a log.
-   *
-   * @param   text
-   *          the exception text
-   */
-
-  public PortletSecurityException (String text)
-  {
-    super (text);
-  }
-
-  /**
-   * Constructs a new portlet security exception when the portlet needs to do
-   * the following:
-   * <ul>
-   * <il>throw an exception 
-   * <li>include a message about the "root cause" that interfered
-   *     with its normal operation
-   * <li>include a description message
-   * </ul>
-   *
-   * @param   text
-   *          the exception text
-   * @param   cause
-   *          the root cause
-   */
-  
-  public PortletSecurityException (String text, Throwable cause)
-  {
-    super(text, cause);
-  }
-
-  /**
-   * Constructs a new portlet security exception when the portlet needs to throw an
-   * exception. The exception message is based on the localized message
-   * of the underlying exception.
-   *
-   * @param   cause
-   *          the root cause
-   */
-
-  public PortletSecurityException (Throwable cause)
-  {
-    super(cause);
-  }
-
-
-}
+/*  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;
+
+/**
+ * A portlet should throw a <CODE>PortletSecurityException</CODE>
+ * when a call fails because of security reasons.<br>
+ * Additionally it can be thrown by the portal/portlet-container.
+ */
+
+public class PortletSecurityException extends PortletException
+{
+
+  private static final long serialVersionUID = 1L;
+
+  private PortletSecurityException ()
+  {
+  }
+
+  /**
+   * Constructs a new security exception with the given text. The
+   * portlet container may use the text write it to a log.
+   *
+   * @param   text
+   *          the exception text
+   */
+
+  public PortletSecurityException (String text)
+  {
+    super (text);
+  }
+
+  /**
+   * Constructs a new portlet security exception when the portlet needs to do
+   * the following:
+   * <ul>
+   * <il>throw an exception 
+   * <li>include a message about the "root cause" that interfered
+   *     with its normal operation
+   * <li>include a description message
+   * </ul>
+   *
+   * @param   text
+   *          the exception text
+   * @param   cause
+   *          the root cause
+   */
+  
+  public PortletSecurityException (String text, Throwable cause)
+  {
+    super(text, cause);
+  }
+
+  /**
+   * Constructs a new portlet security exception when the portlet needs to throw an
+   * exception. The exception message is based on the localized message
+   * of the underlying exception.
+   *
+   * @param   cause
+   *          the root cause
+   */
+
+  public PortletSecurityException (Throwable cause)
+  {
+    super(cause);
+  }
+
+
+}

Modified: portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/PortletSession.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/PortletSession.java?rev=604161&r1=604160&r2=604161&view=diff
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/PortletSession.java (original)
+++ portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/PortletSession.java Fri Dec 14 03:05:38 2007
@@ -1,423 +1,423 @@
-/*  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.util.Map;
-
-
-
-/**
- * The <CODE>PortletSession</CODE> interface provides a way to identify a user
- * across more than one request and to store transient information about that user.
- * <p>
- * A <code>PortletSession</code> is created per user client per portlet application.
- * <p>
- * A portlet can bind an object attribute into a <code>PortletSession</code> by name.
- * The <code>PortletSession</code> interface defines two scopes for storing objects:
- * <ul>
- * <li><code>APPLICATION_SCOPE</code>
- * <li><code>PORTLET_SCOPE</code>
- * </ul>
- * All objects stored in the session using the <code>APPLICATION_SCOPE</code> 
- * must be available to all the portlets, servlets and 
- * JSPs that belongs to the same portlet application and that handles a 
- * request identified as being a part of the same session.
- * Objects stored in the session using the <code>PORTLET_SCOPE</code> must be
- * available to the portlet during requests for the same portlet window
- * that the objects where stored from. Attributes stored in the
- * <code>PORTLET_SCOPE</code> are not protected from other web components
- * of the portlet application. They are just conveniently namespaced.
- * <P>
- * The portlet session is based on the <code>HttpSession</code>. Therefore all
- * <code>HttpSession</code> listeners do apply to the portlet session and
- * attributes set in the portlet session are visible in the <code>HttpSession</code>
- * and vice versa.
- */
-public interface PortletSession
-{
-
-  /**
-   * This constant defines an application wide scope for the session attribute.
-   * <code>APPLICATION_SCOPE</code> session attributes enable Portlets 
-   * within one portlet application to share data.
-   * <p>
-   * Portlets may need to prefix attributes set in this scope with some
-   * ID, to avoid overwriting each other's attributes in the
-   * case where two portlets of the same portlet definition
-   * are created.
-   * <p>
-   * Value: <code>0x01</code>
-   */
-  public static final int APPLICATION_SCOPE = 0x01;
-
-  /**
-   * This constant defines the scope of the session attribute to be
-   * private to the portlet and its included resources. 
-   * <p>
-   * Value: <code>0x02</code>
-   */
-  public static final int PORTLET_SCOPE = 0x02;
-
-
-
-  /**
-   * Returns the object bound with the specified name in this session
-   * under the <code>PORTLET_SCOPE</code>, or <code>null</code> if no 
-   * object is bound under the name in that scope.
-   *
-   * @param name		a string specifying the name of the object
-   *
-   * @return			the object with the specified name for
-   *                            the <code>PORTLET_SCOPE</code>.
-   *
-   * @exception java.lang.IllegalStateException	if this method is called on an
-   *					invalidated session.
-   * @exception  java.lang.IllegalArgumentException 
-   *                            if name is <code>null</code>.
-   */
-
-  public java.lang.Object getAttribute(java.lang.String name);
-
-  
-  /**
-   * Returns the object bound with the specified name in this session, 
-   * or <code>null</code> if no object is bound under the name in the given scope.
-   *
-   * @param name		a string specifying the name of the object
-   * @param scope               session scope of this attribute
-   *
-   * @return			the object with the specified name
-   *
-   * @exception java.lang.IllegalStateException	if this method is called on an
-   *					invalidated session, or the scope is unknown to the container.
-   * @exception  java.lang.IllegalArgumentException 
-   *                            if name is <code>null</code>.
-   */
-
-  public java.lang.Object getAttribute(java.lang.String name,int scope);
-
-
-  /**
-   * Returns an <code>Enumeration</code> of String objects containing the names of 
-   * all the objects bound to this session under the <code>PORTLET_SCOPE</code>, or an
-   * empty <code>Enumeration</code> if no attributes are available.
-   *
-   * @return			an <code>Enumeration</code> of 
-   *				<code>String</code> objects specifying the
-   *				names of all the objects bound to
-   *				this session, or an empty <code>Enumeration</code> 
-   *                if no attributes are available.
-   *
-   * @exception java.lang.IllegalStateException	if this method is called on an
-   *					invalidated session   
-   */
-  
-  public java.util.Enumeration<String> getAttributeNames();
-
-
-  /**
-   * Returns an <code>Enumeration</code> of String objects containing the names of 
-   * all the objects bound to this session in the given scope, or an
-   * empty <code>Enumeration</code> if no attributes are available in the
-   * given scope.
-   *
-   * @param scope               session scope of the attribute names
-   *
-   * @return			an <code>Enumeration</code> of 
-   *				<code>String</code> objects specifying the
-   *				names of all the objects bound to
-   *				this session, or an empty <code>Enumeration</code> 
-   *                            if no attributes are available in the given scope.
-   *
-   * @exception java.lang.IllegalStateException	if this method is called on an
-   *					invalidated session, or the scope is unkown to the container.   
-   */
-  
-  public java.util.Enumeration<String> getAttributeNames(int scope);
-
-  /**
-   * Returns the time when this session was created, measured in 
-   * milliseconds since midnight January 1, 1970 GMT.  
-   *
-   * @return				a <code>long</code> specifying
-   * 					when this session was created,
-   *					expressed in 
-   *					milliseconds since 1/1/1970 GMT
-   *
-   * @exception java.lang.IllegalStateException	if this method is called on an
-   *					invalidated session
-   */
-
-  public long getCreationTime();
-  
-
-  /**
-   * Returns a string containing the unique identifier assigned to this session. 
-   *
-   * @return				a string specifying the identifier
-   *					assigned to this session
-   */
-  
-  public java.lang.String getId();
-  
-
-  /**
-   * Returns the last time the client sent a request associated with this session, 
-   * as the number of milliseconds since midnight January 1, 1970 GMT.  
-   *
-   * <p>Actions that your portlet takes, such as getting or setting
-   * a value associated with the session, do not affect the access
-   * time.
-   *
-   * @return				a <code>long</code>
-   *					representing the last time 
-   *					the client sent a request associated
-   *					with this session, expressed in 
-   *					milliseconds since 1/1/1970 GMT
-   */
-  
-  public long getLastAccessedTime();
-
-
-  /**
-   * Returns the maximum time interval, in seconds, for which the portlet container 
-   * keeps this session open between client accesses. After this interval, 
-   * the portlet container invalidates the session.  The maximum time 
-   * interval can be set
-   * with the <code>setMaxInactiveInterval</code> method.
-   * A negative time indicates the session should never timeout.
-   *
-   * @return		an integer specifying the number of
-   *			seconds this session remains open
-   *			between client requests
-   *
-   * @see		#setMaxInactiveInterval
-   */
-
-  public int getMaxInactiveInterval();
-
-
-  /**
-   * Invalidates this session (all scopes) and unbinds any objects bound to it.  
-   * <p>
-   * Invalidating the portlet session will result in invalidating the underlying
-   * <code>HttpSession</code>
-   *
-   * @exception java.lang.IllegalStateException	if this method is called on a
-   *					session which has already been invalidated
-   */
-
-  public void invalidate();
-
-
-
-  /**
-   * Returns true if the client does not yet know about the session or 
-   * if the client chooses not to join the session. 
-   *
-   * @return 				<code>true</code> if the 
-   *					server has created a session, 
-   *					but the client has not joined yet.
-   *
-   * @exception java.lang.IllegalStateException	if this method is called on a
-   *					session which has already been invalidated
-   *
-   */
-
-  public boolean isNew();
-  
-
-  /**
-   * Removes the object bound with the specified name under
-   * the <code>PORTLET_SCOPE</code> from
-   * this session. If the session does not have an object
-   * bound with the specified name, this method does nothing.
-   * 
-   * @param name   the name of the object to be
-   *               removed from this session in the 
-   *               <code> PORTLET_SCOPE</code>.
-   *
-   * @exception java.lang.IllegalStateException
-   *                   if this method is called on a
-   *                   session which has been invalidated
-   * @exception  java.lang.IllegalArgumentException 
-   *                            if name is <code>null</code>.
-   */
-  
-  public void removeAttribute(String name) ;
-
-
-  /**
-   * Removes the object bound with the specified name and the given scope from
-   * this session. If the session does not have an object
-   * bound with the specified name, this method does nothing.
-   * 
-   * @param name   the name of the object to be
-   *               removed from this session
-   * @param scope  session scope of this attribute
-   *
-   * @exception java.lang.IllegalStateException
-   *                   if this method is called on a
-   *                   session which has been invalidated
-   * @exception  java.lang.IllegalArgumentException 
-   *                            if name is <code>null</code>.
-   */
-  
-  public void removeAttribute(String name, int scope) ;
-
-
-  /**
-   * Binds an object to this session under the <code>PORTLET_SCOPE</code>, using the name specified.  
-   * If an object of the same name in this scope is already bound to the session,
-   * that object is replaced.
-   *
-   * <p>After this method has been executed, and if the new object
-   * implements <code>HttpSessionBindingListener</code>,
-   * the container calls 
-   * <code>HttpSessionBindingListener.valueBound</code>. The container then   
-   * notifies any <code>HttpSessionAttributeListeners</code> in the web 
-   * application.
-   * <p>If an object was already bound to this session 
-   * that implements <code>HttpSessionBindingListener</code>, its 
-   * <code>HttpSessionBindingListener.valueUnbound</code> method is called.
-   *
-   * <p>If the value is <code>null</code>, this has the same effect as calling 
-   * <code>removeAttribute()</code>.
-   *
-   *
-   * @param name		the name to which the object is bound under
-   *                            the <code>PORTLET_SCOPE</code>;
-   *				this cannot be <code>null</code>.
-   * @param value		the object to be bound
-   *
-   * @exception java.lang.IllegalStateException	if this method is called on a
-   *					session which has been invalidated
-   * @exception  java.lang.IllegalArgumentException 
-   *                            if name is <code>null</code>.
-   */
-  
-  public void setAttribute(java.lang.String name, java.lang.Object value);
-
-
-  /**
-   * Binds an object to this session in the given scope, using the name specified.  
-   * If an object of the same name in this scope is already bound to the session,
-   * that object is replaced.
-   *
-   * <p>After this method has been executed, and if the new object
-   * implements <code>HttpSessionBindingListener</code>,
-   * the container calls 
-   * <code>HttpSessionBindingListener.valueBound</code>. The container then   
-   * notifies any <code>HttpSessionAttributeListeners</code> in the web 
-   * application.
-   * <p>If an object was already bound to this session 
-   * that implements <code>HttpSessionBindingListener</code>, its 
-   * <code>HttpSessionBindingListener.valueUnbound</code> method is called.
-   *
-   * <p>If the value is <code>null</code>, this has the same effect as calling 
-   * <code>removeAttribute()</code>.
-   *
-   *
-   * @param name		the name to which the object is bound;
-   *				this cannot be <code>null</code>.
-   * @param value		the object to be bound
-   * @param scope               session scope of this attribute
-   *
-   * @exception java.lang.IllegalStateException	if this method is called on a
-   *					session which has been invalidated
-   * @exception  java.lang.IllegalArgumentException 
-   *                            if name is <code>null</code> or scope is unknown to the container.
-   */
-  
-  public void setAttribute(java.lang.String name, java.lang.Object value, int scope);
-
-
-  /**
-   * Specifies the time, in seconds, between client requests, before the 
-   * portlet container invalidates this session. A negative time
-   * indicates the session should never timeout.
-   *
-   * @param interval		An integer specifying the number
-   * 				of seconds 
-   */
-
-  public void setMaxInactiveInterval(int interval);
-
-
-  /**
-   * Returns the portlet application context associated with this session.
-   *
-   * @return   the portlet application context
-   */
-
-  public PortletContext getPortletContext ();
-
-  /** 
-   * Returns a <code>Map</code> of the session attributes in
-   * the portlet session scope.
-   * <p>
-   * The keys are of type <code>String</code> and the values in the 
-   * returned <code>Map</code> are from type <code>Object</code>.
-   * <p>
-   * If no session attributes exist this method returns an empty <code>Map</code>.
-   *
-   * @return     an immutable <code>Map</code> containing the session attributes in the  
-   *             portlet session scope as keys and attribute values as map values, or an empty <code>Map</code>
-   *             if no session attributes exist. The keys in the
-   *             map are of type String, the values of type
-   *             Object.
-   *  @since 2.0
-   */
-  public Map<String, Object> getAttributeMap();  
-
-  /** 
-   * Returns a <code>Map</code> of the session attributes in
-   * the given session scope.
-   * <p>
-   * The keys are of type <code>String</code> and the values in the 
-   * returned <code>Map</code> are from type <code>Object</code>.
-   * <p>
-   * If no session attributes exist this method returns an empty <code>Map</code>.
-   *
-   * @param scope               session scope of this attribute
-   * 
-   * @return     an immutable <code>Map</code> containing the session attributes in the  
-   *             given scope as keys and attribute values as map values, or an empty <code>Map</code>
-   *             if no session attributes exist. The keys in the
-   *             map are of type String, the values of type
-   *             Object.
-   *  @since 2.0
-   */
-  public Map<String, Object> getAttributeMap(int scope);  
-
-}
-
-
+/*  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.util.Map;
+
+
+
+/**
+ * The <CODE>PortletSession</CODE> interface provides a way to identify a user
+ * across more than one request and to store transient information about that user.
+ * <p>
+ * A <code>PortletSession</code> is created per user client per portlet application.
+ * <p>
+ * A portlet can bind an object attribute into a <code>PortletSession</code> by name.
+ * The <code>PortletSession</code> interface defines two scopes for storing objects:
+ * <ul>
+ * <li><code>APPLICATION_SCOPE</code>
+ * <li><code>PORTLET_SCOPE</code>
+ * </ul>
+ * All objects stored in the session using the <code>APPLICATION_SCOPE</code> 
+ * must be available to all the portlets, servlets and 
+ * JSPs that belongs to the same portlet application and that handles a 
+ * request identified as being a part of the same session.
+ * Objects stored in the session using the <code>PORTLET_SCOPE</code> must be
+ * available to the portlet during requests for the same portlet window
+ * that the objects where stored from. Attributes stored in the
+ * <code>PORTLET_SCOPE</code> are not protected from other web components
+ * of the portlet application. They are just conveniently namespaced.
+ * <P>
+ * The portlet session is based on the <code>HttpSession</code>. Therefore all
+ * <code>HttpSession</code> listeners do apply to the portlet session and
+ * attributes set in the portlet session are visible in the <code>HttpSession</code>
+ * and vice versa.
+ */
+public interface PortletSession
+{
+
+  /**
+   * This constant defines an application wide scope for the session attribute.
+   * <code>APPLICATION_SCOPE</code> session attributes enable Portlets 
+   * within one portlet application to share data.
+   * <p>
+   * Portlets may need to prefix attributes set in this scope with some
+   * ID, to avoid overwriting each other's attributes in the
+   * case where two portlets of the same portlet definition
+   * are created.
+   * <p>
+   * Value: <code>0x01</code>
+   */
+  public static final int APPLICATION_SCOPE = 0x01;
+
+  /**
+   * This constant defines the scope of the session attribute to be
+   * private to the portlet and its included resources. 
+   * <p>
+   * Value: <code>0x02</code>
+   */
+  public static final int PORTLET_SCOPE = 0x02;
+
+
+
+  /**
+   * Returns the object bound with the specified name in this session
+   * under the <code>PORTLET_SCOPE</code>, or <code>null</code> if no 
+   * object is bound under the name in that scope.
+   *
+   * @param name		a string specifying the name of the object
+   *
+   * @return			the object with the specified name for
+   *                            the <code>PORTLET_SCOPE</code>.
+   *
+   * @exception java.lang.IllegalStateException	if this method is called on an
+   *					invalidated session.
+   * @exception  java.lang.IllegalArgumentException 
+   *                            if name is <code>null</code>.
+   */
+
+  public java.lang.Object getAttribute(java.lang.String name);
+
+  
+  /**
+   * Returns the object bound with the specified name in this session, 
+   * or <code>null</code> if no object is bound under the name in the given scope.
+   *
+   * @param name		a string specifying the name of the object
+   * @param scope               session scope of this attribute
+   *
+   * @return			the object with the specified name
+   *
+   * @exception java.lang.IllegalStateException	if this method is called on an
+   *					invalidated session, or the scope is unknown to the container.
+   * @exception  java.lang.IllegalArgumentException 
+   *                            if name is <code>null</code>.
+   */
+
+  public java.lang.Object getAttribute(java.lang.String name,int scope);
+
+
+  /**
+   * Returns an <code>Enumeration</code> of String objects containing the names of 
+   * all the objects bound to this session under the <code>PORTLET_SCOPE</code>, or an
+   * empty <code>Enumeration</code> if no attributes are available.
+   *
+   * @return			an <code>Enumeration</code> of 
+   *				<code>String</code> objects specifying the
+   *				names of all the objects bound to
+   *				this session, or an empty <code>Enumeration</code> 
+   *                if no attributes are available.
+   *
+   * @exception java.lang.IllegalStateException	if this method is called on an
+   *					invalidated session   
+   */
+  
+  public java.util.Enumeration<String> getAttributeNames();
+
+
+  /**
+   * Returns an <code>Enumeration</code> of String objects containing the names of 
+   * all the objects bound to this session in the given scope, or an
+   * empty <code>Enumeration</code> if no attributes are available in the
+   * given scope.
+   *
+   * @param scope               session scope of the attribute names
+   *
+   * @return			an <code>Enumeration</code> of 
+   *				<code>String</code> objects specifying the
+   *				names of all the objects bound to
+   *				this session, or an empty <code>Enumeration</code> 
+   *                            if no attributes are available in the given scope.
+   *
+   * @exception java.lang.IllegalStateException	if this method is called on an
+   *					invalidated session, or the scope is unkown to the container.   
+   */
+  
+  public java.util.Enumeration<String> getAttributeNames(int scope);
+
+  /**
+   * Returns the time when this session was created, measured in 
+   * milliseconds since midnight January 1, 1970 GMT.  
+   *
+   * @return				a <code>long</code> specifying
+   * 					when this session was created,
+   *					expressed in 
+   *					milliseconds since 1/1/1970 GMT
+   *
+   * @exception java.lang.IllegalStateException	if this method is called on an
+   *					invalidated session
+   */
+
+  public long getCreationTime();
+  
+
+  /**
+   * Returns a string containing the unique identifier assigned to this session. 
+   *
+   * @return				a string specifying the identifier
+   *					assigned to this session
+   */
+  
+  public java.lang.String getId();
+  
+
+  /**
+   * Returns the last time the client sent a request associated with this session, 
+   * as the number of milliseconds since midnight January 1, 1970 GMT.  
+   *
+   * <p>Actions that your portlet takes, such as getting or setting
+   * a value associated with the session, do not affect the access
+   * time.
+   *
+   * @return				a <code>long</code>
+   *					representing the last time 
+   *					the client sent a request associated
+   *					with this session, expressed in 
+   *					milliseconds since 1/1/1970 GMT
+   */
+  
+  public long getLastAccessedTime();
+
+
+  /**
+   * Returns the maximum time interval, in seconds, for which the portlet container 
+   * keeps this session open between client accesses. After this interval, 
+   * the portlet container invalidates the session.  The maximum time 
+   * interval can be set
+   * with the <code>setMaxInactiveInterval</code> method.
+   * A negative time indicates the session should never timeout.
+   *
+   * @return		an integer specifying the number of
+   *			seconds this session remains open
+   *			between client requests
+   *
+   * @see		#setMaxInactiveInterval
+   */
+
+  public int getMaxInactiveInterval();
+
+
+  /**
+   * Invalidates this session (all scopes) and unbinds any objects bound to it.  
+   * <p>
+   * Invalidating the portlet session will result in invalidating the underlying
+   * <code>HttpSession</code>
+   *
+   * @exception java.lang.IllegalStateException	if this method is called on a
+   *					session which has already been invalidated
+   */
+
+  public void invalidate();
+
+
+
+  /**
+   * Returns true if the client does not yet know about the session or 
+   * if the client chooses not to join the session. 
+   *
+   * @return 				<code>true</code> if the 
+   *					server has created a session, 
+   *					but the client has not joined yet.
+   *
+   * @exception java.lang.IllegalStateException	if this method is called on a
+   *					session which has already been invalidated
+   *
+   */
+
+  public boolean isNew();
+  
+
+  /**
+   * Removes the object bound with the specified name under
+   * the <code>PORTLET_SCOPE</code> from
+   * this session. If the session does not have an object
+   * bound with the specified name, this method does nothing.
+   * 
+   * @param name   the name of the object to be
+   *               removed from this session in the 
+   *               <code> PORTLET_SCOPE</code>.
+   *
+   * @exception java.lang.IllegalStateException
+   *                   if this method is called on a
+   *                   session which has been invalidated
+   * @exception  java.lang.IllegalArgumentException 
+   *                            if name is <code>null</code>.
+   */
+  
+  public void removeAttribute(String name) ;
+
+
+  /**
+   * Removes the object bound with the specified name and the given scope from
+   * this session. If the session does not have an object
+   * bound with the specified name, this method does nothing.
+   * 
+   * @param name   the name of the object to be
+   *               removed from this session
+   * @param scope  session scope of this attribute
+   *
+   * @exception java.lang.IllegalStateException
+   *                   if this method is called on a
+   *                   session which has been invalidated
+   * @exception  java.lang.IllegalArgumentException 
+   *                            if name is <code>null</code>.
+   */
+  
+  public void removeAttribute(String name, int scope) ;
+
+
+  /**
+   * Binds an object to this session under the <code>PORTLET_SCOPE</code>, using the name specified.  
+   * If an object of the same name in this scope is already bound to the session,
+   * that object is replaced.
+   *
+   * <p>After this method has been executed, and if the new object
+   * implements <code>HttpSessionBindingListener</code>,
+   * the container calls 
+   * <code>HttpSessionBindingListener.valueBound</code>. The container then   
+   * notifies any <code>HttpSessionAttributeListeners</code> in the web 
+   * application.
+   * <p>If an object was already bound to this session 
+   * that implements <code>HttpSessionBindingListener</code>, its 
+   * <code>HttpSessionBindingListener.valueUnbound</code> method is called.
+   *
+   * <p>If the value is <code>null</code>, this has the same effect as calling 
+   * <code>removeAttribute()</code>.
+   *
+   *
+   * @param name		the name to which the object is bound under
+   *                            the <code>PORTLET_SCOPE</code>;
+   *				this cannot be <code>null</code>.
+   * @param value		the object to be bound
+   *
+   * @exception java.lang.IllegalStateException	if this method is called on a
+   *					session which has been invalidated
+   * @exception  java.lang.IllegalArgumentException 
+   *                            if name is <code>null</code>.
+   */
+  
+  public void setAttribute(java.lang.String name, java.lang.Object value);
+
+
+  /**
+   * Binds an object to this session in the given scope, using the name specified.  
+   * If an object of the same name in this scope is already bound to the session,
+   * that object is replaced.
+   *
+   * <p>After this method has been executed, and if the new object
+   * implements <code>HttpSessionBindingListener</code>,
+   * the container calls 
+   * <code>HttpSessionBindingListener.valueBound</code>. The container then   
+   * notifies any <code>HttpSessionAttributeListeners</code> in the web 
+   * application.
+   * <p>If an object was already bound to this session 
+   * that implements <code>HttpSessionBindingListener</code>, its 
+   * <code>HttpSessionBindingListener.valueUnbound</code> method is called.
+   *
+   * <p>If the value is <code>null</code>, this has the same effect as calling 
+   * <code>removeAttribute()</code>.
+   *
+   *
+   * @param name		the name to which the object is bound;
+   *				this cannot be <code>null</code>.
+   * @param value		the object to be bound
+   * @param scope               session scope of this attribute
+   *
+   * @exception java.lang.IllegalStateException	if this method is called on a
+   *					session which has been invalidated
+   * @exception  java.lang.IllegalArgumentException 
+   *                            if name is <code>null</code> or scope is unknown to the container.
+   */
+  
+  public void setAttribute(java.lang.String name, java.lang.Object value, int scope);
+
+
+  /**
+   * Specifies the time, in seconds, between client requests, before the 
+   * portlet container invalidates this session. A negative time
+   * indicates the session should never timeout.
+   *
+   * @param interval		An integer specifying the number
+   * 				of seconds 
+   */
+
+  public void setMaxInactiveInterval(int interval);
+
+
+  /**
+   * Returns the portlet application context associated with this session.
+   *
+   * @return   the portlet application context
+   */
+
+  public PortletContext getPortletContext ();
+
+  /** 
+   * Returns a <code>Map</code> of the session attributes in
+   * the portlet session scope.
+   * <p>
+   * The keys are of type <code>String</code> and the values in the 
+   * returned <code>Map</code> are from type <code>Object</code>.
+   * <p>
+   * If no session attributes exist this method returns an empty <code>Map</code>.
+   *
+   * @return     an immutable <code>Map</code> containing the session attributes in the  
+   *             portlet session scope as keys and attribute values as map values, or an empty <code>Map</code>
+   *             if no session attributes exist. The keys in the
+   *             map are of type String, the values of type
+   *             Object.
+   *  @since 2.0
+   */
+  public Map<String, Object> getAttributeMap();  
+
+  /** 
+   * Returns a <code>Map</code> of the session attributes in
+   * the given session scope.
+   * <p>
+   * The keys are of type <code>String</code> and the values in the 
+   * returned <code>Map</code> are from type <code>Object</code>.
+   * <p>
+   * If no session attributes exist this method returns an empty <code>Map</code>.
+   *
+   * @param scope               session scope of this attribute
+   * 
+   * @return     an immutable <code>Map</code> containing the session attributes in the  
+   *             given scope as keys and attribute values as map values, or an empty <code>Map</code>
+   *             if no session attributes exist. The keys in the
+   *             map are of type String, the values of type
+   *             Object.
+   *  @since 2.0
+   */
+  public Map<String, Object> getAttributeMap(int scope);  
+
+}
+
+

Modified: portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/PortletSessionUtil.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/PortletSessionUtil.java?rev=604161&r1=604160&r2=604161&view=diff
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/PortletSessionUtil.java (original)
+++ portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/PortletSessionUtil.java Fri Dec 14 03:05:38 2007
@@ -1,96 +1,96 @@
-/*  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 <CODE>PortletSessionUtil</CODE>  class helps identify and decode
- * attributes in the <CODE>PORTLET_SCOPE</CODE> scope of the PortletSession
- * when accessed through the HttpSession an from within calls to methods
- * of the HttpSessionBindingListener interface.
- */
-public class PortletSessionUtil
-{
-
-  private static final String PORTLET_SCOPE_NAMESPACE = "javax.portlet.p.";
-  
-  /**
-   * Returns the attribute name of an attribute in the 
-   * <code>PORTLET_SCOPE</code>. If the attribute is in the
-   * <code>APPLICATION_SCOPE</code> it returns the attribute name unchanged.
-   *
-   * @param name		a string specifying the name of the
-   *                            encoded portlet attribute
-   *
-   * @return			the decoded attribute name
-   */
-
-  public static java.lang.String decodeAttributeName(java.lang.String name)
-  {
-    if (name.startsWith(PORTLET_SCOPE_NAMESPACE)) {
-      int index = name.indexOf('?');
-      if (index>-1) {
-	name = name.substring(index+1);
-      }
-    }
-    return name;
-  }
-
-
-  /**
-   * Returns the portlet attribute scope from an encoded portlet
-   * attribute.
-   * <br>Possible return values are:
-   * <ul>
-   * <li><code>PortletSession.APPLICATION_SCOPE</code></li>
-   * <li><code>PortletSession.PORTLET_SCOPE</code></li>
-   * </ul>
-   *
-   * @param name		a string specifying the name of the
-   *                            encoded portlet attribute
-   *
-   * @return			the decoded attribute scope
-   * @see PortletSession
-   */
-
-  public static int decodeScope(java.lang.String name)
-  {
-    int scope = PortletSession.APPLICATION_SCOPE; // APP
-    if (name.startsWith(PORTLET_SCOPE_NAMESPACE)) {
-      int index = name.indexOf('?');
-      if (index>-1) {
-	scope = PortletSession.PORTLET_SCOPE; // PORTLET
-      }
-    }
-    return scope;
-  }
-}
-
-
+/*  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 <CODE>PortletSessionUtil</CODE>  class helps identify and decode
+ * attributes in the <CODE>PORTLET_SCOPE</CODE> scope of the PortletSession
+ * when accessed through the HttpSession an from within calls to methods
+ * of the HttpSessionBindingListener interface.
+ */
+public class PortletSessionUtil
+{
+
+  private static final String PORTLET_SCOPE_NAMESPACE = "javax.portlet.p.";
+  
+  /**
+   * Returns the attribute name of an attribute in the 
+   * <code>PORTLET_SCOPE</code>. If the attribute is in the
+   * <code>APPLICATION_SCOPE</code> it returns the attribute name unchanged.
+   *
+   * @param name		a string specifying the name of the
+   *                            encoded portlet attribute
+   *
+   * @return			the decoded attribute name
+   */
+
+  public static java.lang.String decodeAttributeName(java.lang.String name)
+  {
+    if (name.startsWith(PORTLET_SCOPE_NAMESPACE)) {
+      int index = name.indexOf('?');
+      if (index>-1) {
+	name = name.substring(index+1);
+      }
+    }
+    return name;
+  }
+
+
+  /**
+   * Returns the portlet attribute scope from an encoded portlet
+   * attribute.
+   * <br>Possible return values are:
+   * <ul>
+   * <li><code>PortletSession.APPLICATION_SCOPE</code></li>
+   * <li><code>PortletSession.PORTLET_SCOPE</code></li>
+   * </ul>
+   *
+   * @param name		a string specifying the name of the
+   *                            encoded portlet attribute
+   *
+   * @return			the decoded attribute scope
+   * @see PortletSession
+   */
+
+  public static int decodeScope(java.lang.String name)
+  {
+    int scope = PortletSession.APPLICATION_SCOPE; // APP
+    if (name.startsWith(PORTLET_SCOPE_NAMESPACE)) {
+      int index = name.indexOf('?');
+      if (index>-1) {
+	scope = PortletSession.PORTLET_SCOPE; // PORTLET
+      }
+    }
+    return scope;
+  }
+}
+
+

Modified: portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/PortletURL.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/PortletURL.java?rev=604161&r1=604160&r2=604161&view=diff
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/PortletURL.java (original)
+++ portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/PortletURL.java Fri Dec 14 03:05:38 2007
@@ -1,147 +1,147 @@
-/*  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 <CODE>PortletURL</CODE> interface represents a URL
- * that reference the portlet itself.
- * <p>
- * A PortletURL is created through the <CODE>RenderResponse</CODE>.
- * Parameters, a portlet mode, a window state and a security level
- * can be added to <CODE>PortletURL</CODE> objects. The PortletURL
- * must be converted to a String in order to embed it into
- * the markup generated by the portlet.
- * <P>
- * There are two types of PortletURLs:
- * <ul>
- * <li>Action URLs, they are created with <CODE>RenderResponse.createActionURL</CODE>, and 
- *     trigger an action request followed by a render request.
- * <li>Render URLs, they are created with <CODE>RenderResponse.createRenderURL</CODE>, and
- *     trigger a render request.
- * </ul>
- * <p>
- * 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.
-   * <p>
-   * 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 <code>PortletRequest.isWindowStateAllowed()</code> 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.
-   * <p>
-   * 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 <code>PortletRequest.isPortletModeAllowed()</code> 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 <code>null</code> if none is set
-   */
-
-  public PortletMode getPortletMode ();
-
-
-  /**
-   * Returns the currently set window state on this PortletURL.
-   *             
-   * @since 2.0
-   *
-   * @return   the window state, or <code>null</code> 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
-	* <code>public-render-parameter</code> element with the
-	* <code>identifier</code> mapping to the parameter name.
-	* 
-	* @param name			a <code>String</code> specifying 
-	*					the name of the public render parameter to be removed
-	*
-	* @exception  java.lang.IllegalArgumentException 
-	*                            if name is <code>null</code>.
-	* @since 2.0
-	*/
-  public void removePublicRenderParameter(String name); 
-}
+/*  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 <CODE>PortletURL</CODE> interface represents a URL
+ * that reference the portlet itself.
+ * <p>
+ * A PortletURL is created through the <CODE>RenderResponse</CODE>.
+ * Parameters, a portlet mode, a window state and a security level
+ * can be added to <CODE>PortletURL</CODE> objects. The PortletURL
+ * must be converted to a String in order to embed it into
+ * the markup generated by the portlet.
+ * <P>
+ * There are two types of PortletURLs:
+ * <ul>
+ * <li>Action URLs, they are created with <CODE>RenderResponse.createActionURL</CODE>, and 
+ *     trigger an action request followed by a render request.
+ * <li>Render URLs, they are created with <CODE>RenderResponse.createRenderURL</CODE>, and
+ *     trigger a render request.
+ * </ul>
+ * <p>
+ * 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.
+   * <p>
+   * 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 <code>PortletRequest.isWindowStateAllowed()</code> 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.
+   * <p>
+   * 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 <code>PortletRequest.isPortletModeAllowed()</code> 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 <code>null</code> if none is set
+   */
+
+  public PortletMode getPortletMode ();
+
+
+  /**
+   * Returns the currently set window state on this PortletURL.
+   *             
+   * @since 2.0
+   *
+   * @return   the window state, or <code>null</code> 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
+	* <code>public-render-parameter</code> element with the
+	* <code>identifier</code> mapping to the parameter name.
+	* 
+	* @param name			a <code>String</code> specifying 
+	*					the name of the public render parameter to be removed
+	*
+	* @exception  java.lang.IllegalArgumentException 
+	*                            if name is <code>null</code>.
+	* @since 2.0
+	*/
+  public void removePublicRenderParameter(String name); 
+}

Modified: portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/PreferencesValidator.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/PreferencesValidator.java?rev=604161&r1=604160&r2=604161&view=diff
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/PreferencesValidator.java (original)
+++ portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/PreferencesValidator.java Fri Dec 14 03:05:38 2007
@@ -1,59 +1,85 @@
-/*  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 <CODE>PreferencesValidator</CODE> allows to validate the set of
- * preferences of the associated portlet just before they are
- * stored in the persistent store.
- * <p>
- * The portlet container invokes the <code>validate</code> method as 
- * part of the invocation of the <code>store</code> method of the
- * <code>PortletPreferences</code>.
- */
-public interface PreferencesValidator
-{
-
-  /**
-   * If the preferences values are successfully validated the call to this method
-   * must finish gracefully. Otherwise it must throw a <code>ValidatorException</code>.
-   *
-   * @param  preferences   preferences to validate
-   *
-   * @throws  ValidatorException  if the given preferences contains invalid
-   *                              settings
-   *
-   */
-
-  public void validate(PortletPreferences preferences)
-    throws ValidatorException;  
-}
+/*  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!
+ */
+/*  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 <CODE>PreferencesValidator</CODE> allows to validate the set of
+ * preferences of the associated portlet just before they are
+ * stored in the persistent store.
+ * <p>
+ * The portlet container invokes the <code>validate</code> method as 
+ * part of the invocation of the <code>store</code> method of the
+ * <code>PortletPreferences</code>.
+ */
+public interface PreferencesValidator
+{
+
+  /**
+   * If the preferences values are successfully validated the call to this method
+   * must finish gracefully. Otherwise it must throw a <code>ValidatorException</code>.
+   *
+   * @param  preferences   preferences to validate
+   *
+   * @throws  ValidatorException  if the given preferences contains invalid
+   *                              settings
+   *
+   */
+
+  public void validate(PortletPreferences preferences)
+    throws ValidatorException;  
+}

Modified: portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/ReadOnlyException.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/ReadOnlyException.java?rev=604161&r1=604160&r2=604161&view=diff
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/ReadOnlyException.java (original)
+++ portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/ReadOnlyException.java Fri Dec 14 03:05:38 2007
@@ -1,95 +1,95 @@
-/*  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 <CODE>ReadOnlyException</CODE> is thrown when a portlet tries
- * to change the value for a read-only preference attribute.
- */
-
-public class ReadOnlyException extends PortletException
-{
-	  private static final long serialVersionUID = 1L;
-
-  private ReadOnlyException ()
-  {
-  }
-
-  /**
-   * Constructs a new read-only exception with the given text. The
-   * portlet container may use the text write it to a log.
-   *
-   * @param   text
-   *          the exception text
-   */
-
-  public ReadOnlyException (String text)
-  {
-    super (text);
-  }
-
-  /**
-   * Constructs a new read-only exception when the portlet needs to do
-   * the following:
-   * <ul>
-   * <il>throw an exception 
-   * <li>include a message about the "root cause" that interfered
-   *     with its normal operation
-   * <li>include a description message
-   * </ul>
-   *
-   * @param   text
-   *          the exception text
-   * @param   cause
-   *          the root cause
-   */
-  
-  public ReadOnlyException (String text, Throwable cause)
-  {
-    super(text, cause);
-  }
-
-  /**
-   * Constructs a new read-only exception when the portlet needs to throw an
-   * exception. The exception message is based on the localized message
-   * of the underlying exception.
-   *
-   * @param   cause
-   *          the root cause
-   */
-
-  public ReadOnlyException (Throwable cause)
-  {
-    super(cause);
-  }
-
-
-}
+/*  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 <CODE>ReadOnlyException</CODE> is thrown when a portlet tries
+ * to change the value for a read-only preference attribute.
+ */
+
+public class ReadOnlyException extends PortletException
+{
+	  private static final long serialVersionUID = 1L;
+
+  private ReadOnlyException ()
+  {
+  }
+
+  /**
+   * Constructs a new read-only exception with the given text. The
+   * portlet container may use the text write it to a log.
+   *
+   * @param   text
+   *          the exception text
+   */
+
+  public ReadOnlyException (String text)
+  {
+    super (text);
+  }
+
+  /**
+   * Constructs a new read-only exception when the portlet needs to do
+   * the following:
+   * <ul>
+   * <il>throw an exception 
+   * <li>include a message about the "root cause" that interfered
+   *     with its normal operation
+   * <li>include a description message
+   * </ul>
+   *
+   * @param   text
+   *          the exception text
+   * @param   cause
+   *          the root cause
+   */
+  
+  public ReadOnlyException (String text, Throwable cause)
+  {
+    super(text, cause);
+  }
+
+  /**
+   * Constructs a new read-only exception when the portlet needs to throw an
+   * exception. The exception message is based on the localized message
+   * of the underlying exception.
+   *
+   * @param   cause
+   *          the root cause
+   */
+
+  public ReadOnlyException (Throwable cause)
+  {
+    super(cause);
+  }
+
+
+}

Modified: portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/RenderRequest.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/RenderRequest.java?rev=604161&r1=604160&r2=604161&view=diff
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/RenderRequest.java (original)
+++ portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/RenderRequest.java Fri Dec 14 03:05:38 2007
@@ -1,81 +1,78 @@
-/*  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 <CODE>RenderRequest</CODE> represents the request sent to the portlet
- * to handle a render.
- * It extends the PortletRequest interface to provide render request
- * information to portlets.<br>
- * The portlet container creates a <CODE>RenderRequest</CODE> object and
- * passes it as argument to the portlet's <CODE>render</CODE> method.
- * 
- * @see PortletRequest
- * @see ActionRequest
- */
-/**
- *
- */
-public interface RenderRequest extends PortletRequest
-{
-
-    /**
-     * This property is set by the container if the portlet container
-     * has a cached response for the given validation tag. The property can be
-     * retrieved using the <code>getProperty</code> method. 
-     * <P>
-     * The value is <code>"portlet.ETag "</code>.
-     * 
-     * @since 2.0
-     */
-    public static final String ETAG = "portlet.ETag";
-
-    
-    /**
-     * Returns the validation tag if the portlet container
-     * has a cached response for this validation tag, or
-     * <code>null</code> if no cached response exists.
-     * <p>
-     * This call returns the same value as 
-     * <code>RenderRequest.getProperty(RenderRequest.ETAG)</code>.
-     * 
-     * @return  the validation tag if the portlet container
-     *          has a cached response for this validation tag, or
-     *          <code>null</code> if no cached response exists.
-     *          
-     * @since 2.0
-     */
-    public String getETag();
-    
-
-
-}
+/*  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 <CODE>RenderRequest</CODE> represents the request sent to the portlet
+ * to handle a render.
+ * It extends the PortletRequest interface to provide render request
+ * information to portlets.<br>
+ * The portlet container creates a <CODE>RenderRequest</CODE> object and
+ * passes it as argument to the portlet's <CODE>render</CODE> method.
+ * 
+ * @see PortletRequest
+ * @see ActionRequest
+ */
+public interface RenderRequest extends PortletRequest
+{
+
+    /**
+     * This property is set by the container if the portlet container
+     * has a cached response for the given validation tag. The property can be
+     * retrieved using the <code>getProperty</code> method. 
+     * <P>
+     * The value is <code>"portlet.ETag "</code>.
+     * 
+     * @since 2.0
+     */
+    public static final String ETAG = "portlet.ETag";
+
+    
+    /**
+     * Returns the validation tag if the portlet container
+     * has a cached response for this validation tag, or
+     * <code>null</code> if no cached response exists.
+     * <p>
+     * This call returns the same value as 
+     * <code>RenderRequest.getProperty(RenderRequest.ETAG)</code>.
+     * 
+     * @return  the validation tag if the portlet container
+     *          has a cached response for this validation tag, or
+     *          <code>null</code> if no cached response exists.
+     *          
+     * @since 2.0
+     */
+    public String getETag();
+    
+
+
+}

Modified: portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/RenderResponse.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/RenderResponse.java?rev=604161&r1=604160&r2=604161&view=diff
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/RenderResponse.java (original)
+++ portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/RenderResponse.java Fri Dec 14 03:05:38 2007
@@ -75,4 +75,28 @@
      */
 	public void setNextPossiblePortletModes(java.util.Collection<PortletMode> portletModes);
 
+    /**
+     * Sets the MIME type for the render response. The portlet should set the
+     * content type before calling {@link #getWriter} or
+     * {@link #getPortletOutputStream}.
+     * <p>
+     * Calling <code>setContentType</code> after <code>getWriter</code> or
+     * <code>getOutputStream</code> does not change the content type.
+     * <p>
+     * The portlet container will ignore any character encoding
+     * specified as part of the content type for <code>render</code>
+     * calls.
+     * 
+     * @param type
+     *            the content MIME type
+     * 
+     * @throws java.lang.IllegalArgumentException
+     *             if the given type is not in the list 
+     *             returned by <code>PortletRequest.getResponseContentTypes</code>
+     * 
+     * @see PortletRequest#getResponseContentTypes
+     * @see #getContentType
+     */
+    public void setContentType(String type);
+
 }

Modified: portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/ResourceRequest.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/ResourceRequest.java?rev=604161&r1=604160&r2=604161&view=diff
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/ResourceRequest.java (original)
+++ portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/ResourceRequest.java Fri Dec 14 03:05:38 2007
@@ -110,4 +110,40 @@
      *             String array (<code>String[]</code>).
      */
     public java.util.Map<String, String[]> getPrivateRenderParameterMap();
+    
+    /**
+     * Returns the portal preferred content type for the response.
+     * <p>
+     * The returned content type should be based on the HTTP Accept header 
+     * provided by the client.
+     * 
+     * @return preferred content type of the response
+     */
+
+    public String getResponseContentType();
+
+
+    /**
+     * Gets a list of content types which the portal accepts for the response.
+     * This list is ordered with the most preferable types listed first.
+     * <p>
+     * The returned content types should be based on the HTTP Accept header 
+     * provided by the client.
+     *
+     * @return ordered list of content types for the response
+     */
+
+    public java.util.Enumeration<String> getResponseContentTypes();
+
+	/**
+	 * Returns the cache level of this resource request.
+	 * <p>
+	 * Possible return values are: 
+	 * <code>ResourceURL.FULL, ResourceURL.PORTLET</code> 
+	 * or <code>ResourceURL.PAGE</code>.
+	 * 
+     * @return  the cache level of this resource request.
+     */
+	public String getCacheability();
+
 }

Modified: portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/ResourceResponse.java
URL: http://svn.apache.org/viewvc/portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/ResourceResponse.java?rev=604161&r1=604160&r2=604161&view=diff
==============================================================================
--- portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/ResourceResponse.java (original)
+++ portals/pluto/branches/1.1-286-trunk-merge/portlet2-api/src/main/java/javax/portlet/ResourceResponse.java Fri Dec 14 03:05:38 2007
@@ -55,6 +55,11 @@
  */
 public interface ResourceResponse extends MimeResponse {
     
+	/**
+	 * Constant for setting the HTTP status code via the 
+	 * <code>setProperty</code> method.
+	 */
+	public static final String HTTP_STATUS_CODE = "portlet.http-status-code";
 
     /**
      * Sets the locale of the response, setting the headers 
@@ -125,15 +130,5 @@
 	public ResourceURL createResourceURL()
 			throws java.lang.IllegalStateException;
 
-	/**
-	 * Returns the cache level of this resource request.
-	 * <p>
-	 * Possible return values are: 
-	 * <code>ResourceURL.FULL, ResourceURL.PORTLET</code> 
-	 * or <code>ResourceURL.PAGE</code>.
-	 * 
-     * @return  the cache level of this resource request.
-     */
-	public String getCacheability();
 
 }