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();
}