com.plumtree.uiinfrastructure.opener
Class BaseOpenerControl

java.lang.Object
  extended by com.plumtree.uiinfrastructure.opener.BaseOpenerControl
All Implemented Interfaces:
IControl, IManagedObject, IMVCObject
Direct Known Subclasses:
AjaxControl, OpenObjectControl

public class BaseOpenerControl
extends java.lang.Object
implements IControl

This control redirects to the appropriate editor, file, etc.

Author:
John Osborne

Field Summary
static java.lang.String STR_MVC_CLASS_NAME
           
 
Constructor Summary
BaseOpenerControl()
           
 
Method Summary
 Redirect CheckActionSecurityAndExecute(XPHashtable _htArguments)
          This method is the gateway to the Common Opener.
 java.lang.Object Create()
          This method is used by the ASManager to return new instances of managed objects.
 java.lang.String GetName()
          Return the name of the MVC object.
 void Init(IModel _model, AActivitySpace _asSpace)
          Initialize the control with the model it should use and it's parent AActivitySpace.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

STR_MVC_CLASS_NAME

public static final java.lang.String STR_MVC_CLASS_NAME
See Also:
Constant Field Values
Constructor Detail

BaseOpenerControl

public BaseOpenerControl()
Method Detail

CheckActionSecurityAndExecute

public Redirect CheckActionSecurityAndExecute(XPHashtable _htArguments)
This method is the gateway to the Common Opener. We inspect the URL and depending on what arguments are given, we direct to the correct place. The first step in this process is running any plugins that are registered in OpenerPlugins.xml. The plugins will be able to change the QS arguments as well as specify a redirect. After the plugins are run, we know exactly where we want to go. If there's a redirect, we will be going there. If not, we will be going to the ClassID/ObjectID pair. Next, we run any PEIs that are registered in OpenerActions.xml. This is a good place to do tracking because we have already deteremined where we want to go. Optionally, we allow the PEIs to change flow by returning a redirect. If there's a redirect, we go there. If not, we do our normal processing of going to the ClassID/ObjectID via the class type descriptor. Note that we have changed our QS arguments (Tiny URL project). i.e. "in_hi_classID" is now "clsID". However, we will still support the older format, at least in this release.

Specified by:
CheckActionSecurityAndExecute in interface IControl
Parameters:
_htArguments - These are our QS arguments.
Returns:
Redirect to the appropriate object handler.
See Also:
com.plumtree.uiinfrastructure.activityspace.IControl#Execute()

Create

public java.lang.Object Create()
Description copied from interface: IManagedObject
This method is used by the ASManager to return new instances of managed objects.

Specified by:
Create in interface IManagedObject
Returns:
A new instance of the managed class (i.e. return new Foo();)
See Also:
IManagedObject.Create()

GetName

public java.lang.String GetName()
Description copied from interface: IMVCObject
Return the name of the MVC object.

Specified by:
GetName in interface IMVCObject
Returns:
the name of the object.
See Also:
IMVCObject.GetName()

Init

public void Init(IModel _model,
                 AActivitySpace _asSpace)
Description copied from interface: IControl
Initialize the control with the model it should use and it's parent AActivitySpace. This method needs to be called before any other methods. This method also clears all internal data so the control can be used again without fear of mixing data.

Specified by:
Init in interface IControl
See Also:
IControl.Init(IModel, AActivitySpace)



Copyright © 2002,2003,2004,2005 Plumtree Software, Inc., All Rights Reserved.