org.apache.jetspeed.portal.security.portlets
Class PortletWrapper

java.lang.Object
  extended byorg.apache.jetspeed.portal.security.portlets.PortletWrapper
All Implemented Interfaces:
Portlet, java.io.Serializable
Direct Known Subclasses:
CacheablePortletWrapper, StatefulPortletWrapper

public class PortletWrapper
extends java.lang.Object
implements Portlet

This object is used to wrap a Portlet, ensuring that access control rules are enforced.

Version:
$Id: PortletWrapper.java,v 1.26 2005/04/02 17:31:08 jford Exp $
Author:
Santiago Gala
See Also:
Serialized Form

Field Summary
 
Fields inherited from interface org.apache.jetspeed.portal.Portlet
PORTLET_MAXIMIZED, PORTLET_MINIMIZED, PORTLET_NORMAL
 
Constructor Summary
PortletWrapper(Portlet inner)
           
 
Method Summary
protected  boolean checkPermission(org.apache.turbine.util.RunData rundata, java.lang.String permissionName)
          Utility method for checking Permissions on myself.
 boolean getAllowEdit(org.apache.turbine.util.RunData rundata)
          Return true if this portlet is allowed to be edited in the rundata's context .
 boolean getAllowMaximize(org.apache.turbine.util.RunData rundata)
          Return true if this portlets is allowed to be maximized.
 boolean getAllowView(org.apache.turbine.util.RunData rundata)
          Return true if this portlet is allowed to be viewed in the rundata's context .
 java.lang.String getAttribute(java.lang.String attrName, java.lang.String attrDefValue, org.apache.turbine.util.RunData rundata)
          Retrieve a portlet attribute from persistent storage
 org.apache.ecs.ConcreteElement getContent(org.apache.turbine.util.RunData rundata)
          Returns an HTML representation of this portlet.
 long getCreationTime()
          Get the creation time for this Portlet
 java.lang.String getDescription()
          Provide a description within PML if the user has specified one.
 java.lang.String getDescription(java.lang.String instanceDescription)
          Get a Description for this instance of the portlet.
 java.lang.String getID()
          Retrieve a unique portlet id
 java.lang.String getImage(java.lang.String instanceImage)
          Getter for property image.
 PortletInstance getInstance(org.apache.turbine.util.RunData rundata)
          Gets the portlet instance associated with this portlet.
 java.lang.String getName()
          Returns a name for this portlet.
 Portlet getPortlet()
           
 PortletConfig getPortletConfig()
          Get the config of this servlet.
 java.lang.String getTitle()
           Allows a Portlet to define its title.
 java.lang.String getTitle(java.lang.String instanceTitle)
          Get a title for this instance of the portlet.
 void init()
          By default don't provide any initialization
 boolean isShowTitleBar(org.apache.turbine.util.RunData rundata)
          Returns TRUE if the title bar in should be displayed.
 boolean providesCustomization()
           
 void setAttribute(java.lang.String attrName, java.lang.String attrValue, org.apache.turbine.util.RunData rundata)
          Sets a portlet attribute to persistent storage
 void setCreationTime(long creationTime)
          Set the creation time for this Portlet
 void setDescription(java.lang.String description)
          Set the description for this Portlet
 void setID(java.lang.String id)
           
 void setImage(java.lang.String image)
          Setter for property image.
 void setName(java.lang.String name)
          Sets the name on this Portlet.
 void setPortletConfig(PortletConfig pc)
          Set's the configuration of this servlet.
 void setTitle(java.lang.String title)
          Set the title for this Portlet
 void setTitle(java.lang.String title, org.apache.turbine.util.RunData runData)
          Set the title for this Portlet
 boolean supportsType(MimeType mimeType)
          Returns true portlet is able to output content for given mimetype
static Portlet wrap(Portlet aPortlet)
          Return an instance of one of the classes in this package making tests before calling the wrapped portlet
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PortletWrapper

public PortletWrapper(Portlet inner)
Method Detail

getName

public final java.lang.String getName()
Description copied from interface: Portlet
Returns a name for this portlet. This is used by PSML to identify a Portlet within the PortletRegistry

Specified by:
getName in interface Portlet

setName

public final void setName(java.lang.String name)
Description copied from interface: Portlet
Sets the name on this Portlet.

Specified by:
setName in interface Portlet
See Also:
Portlet.getName()

getPortletConfig

public final PortletConfig getPortletConfig()
Description copied from interface: Portlet
Get the config of this servlet.

Specified by:
getPortletConfig in interface Portlet

setPortletConfig

public final void setPortletConfig(PortletConfig pc)
Description copied from interface: Portlet
Set's the configuration of this servlet.

Specified by:
setPortletConfig in interface Portlet

getContent

public org.apache.ecs.ConcreteElement getContent(org.apache.turbine.util.RunData rundata)
Description copied from interface: Portlet
Returns an HTML representation of this portlet. Usually a Portlet would initialized itself within init() and then when getContent is called it would return its presentation.

Specified by:
getContent in interface Portlet

getDescription

public java.lang.String getDescription()
Provide a description within PML if the user has specified one.

Specified by:
getDescription in interface Portlet
Returns:
a null entry if the user hasn't defined anything

getDescription

public java.lang.String getDescription(java.lang.String instanceDescription)
Description copied from interface: Portlet
Get a Description for this instance of the portlet. This method is called from the context variable portlet_instance and from PortletInstance If you wish to append to the Description, then you code should look like getDescription( String instanceTitle) { return super.getDescription( instanceDescription) + " - Appened Description text"; }

Specified by:
getDescription in interface Portlet
Parameters:
instanceDescription - Description from PSML

setDescription

public void setDescription(java.lang.String description)
Description copied from interface: Portlet
Set the description for this Portlet

Specified by:
setDescription in interface Portlet

getImage

public java.lang.String getImage(java.lang.String instanceImage)
Description copied from interface: Portlet
Getter for property image.

Specified by:
getImage in interface Portlet
Returns:
Name of portlet image, icon. The name is expected to be in the form of a URL.
See Also:
Portlet.getImage(java.lang.String)

setImage

public void setImage(java.lang.String image)
Description copied from interface: Portlet
Setter for property image.

Specified by:
setImage in interface Portlet
See Also:
Portlet#setImge

getTitle

public java.lang.String getTitle()
Description copied from interface: Portlet

Allows a Portlet to define its title. This can be used by a PortletControl for rendering its content.

In order to define a default title you should not override this but should call setTitle() within your init() method

This should return null if not specified.

Specified by:
getTitle in interface Portlet
See Also:
Portlet.getTitle()

getTitle

public java.lang.String getTitle(java.lang.String instanceTitle)
Description copied from interface: Portlet
Get a title for this instance of the portlet. This method is called from the context variable portlet_instance and from PortletInstance If you wish to append to the title, then you code should look like getTitle( String instanceTitle) { return super.getTitle( instanceTitle) + " - Appened title text"; }

Specified by:
getTitle in interface Portlet
Parameters:
instanceTitle - Title from PSML
See Also:
Portlet.getImage(java.lang.String)

setTitle

public void setTitle(java.lang.String title)
Set the title for this Portlet

Specified by:
setTitle in interface Portlet

setTitle

public void setTitle(java.lang.String title,
                     org.apache.turbine.util.RunData runData)
Set the title for this Portlet

Specified by:
setTitle in interface Portlet

getAllowEdit

public boolean getAllowEdit(org.apache.turbine.util.RunData rundata)
Description copied from interface: Portlet

Return true if this portlet is allowed to be edited in the rundata's context .

Note: PortletControl implementations should pay attention to this so that they don't allow this option if it returns false.

Specified by:
getAllowEdit in interface Portlet

getAllowView

public boolean getAllowView(org.apache.turbine.util.RunData rundata)
Description copied from interface: Portlet

Return true if this portlet is allowed to be viewed in the rundata's context .

Note: PortletControl implementations should pay attention to this so that they don't allow this option if it returns false.

Specified by:
getAllowView in interface Portlet

getAllowMaximize

public boolean getAllowMaximize(org.apache.turbine.util.RunData rundata)
Description copied from interface: Portlet

Return true if this portlets is allowed to be maximized.

Note: PortletControl implementations should pay attention to this so that they don't allow this option if it returns false.

Specified by:
getAllowMaximize in interface Portlet

init

public void init()
          throws PortletException
By default don't provide any initialization

Specified by:
init in interface Portlet
Throws:
PortletException

getCreationTime

public long getCreationTime()
Description copied from interface: Portlet
Get the creation time for this Portlet

Specified by:
getCreationTime in interface Portlet
See Also:
Portlet.getCreationTime()

setCreationTime

public void setCreationTime(long creationTime)
Description copied from interface: Portlet
Set the creation time for this Portlet

Specified by:
setCreationTime in interface Portlet
See Also:
Portlet.setCreationTime(long)

supportsType

public boolean supportsType(MimeType mimeType)
Description copied from interface: Portlet
Returns true portlet is able to output content for given mimetype

Specified by:
supportsType in interface Portlet
See Also:
Portlet.supportsType(org.apache.jetspeed.util.MimeType)

checkPermission

protected boolean checkPermission(org.apache.turbine.util.RunData rundata,
                                  java.lang.String permissionName)
Utility method for checking Permissions on myself.

Parameters:
rundata - A rundata Object
permissionName - String the name of the Permission requested
Returns:
boolean is it granted?

isShowTitleBar

public boolean isShowTitleBar(org.apache.turbine.util.RunData rundata)
Returns TRUE if the title bar in should be displayed. The title bar includes the portlet title and action buttons. NOTE(FIXME) Not in Portlet interface. Called a la Bean from Velocity.

Specified by:
isShowTitleBar in interface Portlet
Parameters:
rundata - A RunData object

getAttribute

public java.lang.String getAttribute(java.lang.String attrName,
                                     java.lang.String attrDefValue,
                                     org.apache.turbine.util.RunData rundata)
Retrieve a portlet attribute from persistent storage

Specified by:
getAttribute in interface Portlet
Parameters:
attrName - The attribute to retrieve
rundata - A RunData object
attrDefValue - The value if the attr doesn't exists
Returns:
The attribute value

setAttribute

public void setAttribute(java.lang.String attrName,
                         java.lang.String attrValue,
                         org.apache.turbine.util.RunData rundata)
Sets a portlet attribute to persistent storage

Specified by:
setAttribute in interface Portlet
Parameters:
attrName - The attribute to retrieve
attrValue - The value
rundata - A RunData object

getInstance

public PortletInstance getInstance(org.apache.turbine.util.RunData rundata)
Gets the portlet instance associated with this portlet.

Specified by:
getInstance in interface Portlet
Parameters:
rundata - A RunData object
Returns:
PortletInstance

wrap

public static Portlet wrap(Portlet aPortlet)

Return an instance of one of the classes in this package making tests before calling the wrapped portlet

Different wrapper classes must be used with the current API depending on the interfaces implemented by the portlet. :-(


getID

public java.lang.String getID()
Description copied from interface: Portlet
Retrieve a unique portlet id

Specified by:
getID in interface Portlet

setID

public void setID(java.lang.String id)
Specified by:
setID in interface Portlet

providesCustomization

public boolean providesCustomization()
Specified by:
providesCustomization in interface Portlet
Returns:
true if the portlet does its own customization

getPortlet

public Portlet getPortlet()


Copyright © 2000-2005 Apache Software Foundation. All Rights Reserved.