Provides the integrated set of classes that comprise the ActionProvider Framework (APF).
OVERVIEW
The APF is a framework from which both Swing and JSP Viewer Components acquire their Actions. See the CURRENT APF VIEWERS section below for a listing of viewers that currently use the APF.
The main purpose of the framework is to give users the ability to customize the functionality and appearance of these Actions. However, before attempting to exploit these features of the APF, a basic understanding of its primary elements is essential.
PRIMARY TYPES OF CLASSES IN THE APF
{@link com.sas.actionprovider.SwingAction}{@link com.sas.actionprovider.HttpAction} ** Typically, a Command object associated with the Action contains
the logic for actually performing the operation. Within the APF, all commands are required
to be implementations of {@link com.sas.commands.DynamicAttributeCommandInterface}. The
{@link com.sas.commands.BaseCommand} class implements that interface and is the base class
for all default commands.
implementations of {@link com.sas.actionprovider.SwingActionProviderViewInterface}implementations of {@link com.sas.actionprovider.HttpActionProviderViewInterface}{@link com.sas.actionprovider.BaseActionProvider#getActions getActions()} method, for each renderable portion of their view.
{@link com.sas.actionprovider.SwingActionProvider}{@link com.sas.actionprovider.HttpActionProvider}{@link com.sas.actionprovider.support.ActionProviderSupportTypes} for an overview of the
the default support classes.
{@link com.sas.actionprovider.support.BaseActionProviderSupport}OPERATIONAL FLOW OF THE APF
A Viewer Component makes a query for Actions to its ActionProvider via a {@link com.sas.actionprovider.BaseActionProvider#getActions getActions()} call. There may be multiple calls to this method; One for each specific area within a general areaType. For example, a TableView component does a different query for each of its column headers within the general COLUMN_HEADER_AREA. JSP/Servlet Components have to make as many queries as there are specific areas during each rendering of the view. Swing Components can query for Actions on just an as-needed basis; When a users clicks an area to bring up a pop menu of Action choices for example. The query always includes the following:
The other parts required on the query depend on the particular support class. Typically, they include:
The ActionProvider delegates the {@link com.sas.actionprovider.BaseActionProvider#getActions getActions()} call to the appropriate support class based on the specified supportType key.
The support class identifies all the actionTypes that are registered for the specified areaType and does the following for each of the Actions to which they are associated:
In the JSP/Servlet environment, Actions can not persist after they are acquired and their html representations have been returned to the client. Therefore, the {@link com.sas.actionprovider.HttpActionProvider} stores command instances and, possibly, certain dynamic Action attributes so that the command may be executed later during a new request from the client. The HttpActionProvider assigns a unique {@link com.sas.actionprovider.HttpActionProvider#CMDID} identifier for each of its stored commands.
CURRENT APF VIEWERS
The following is a list of Viewer Components that use the APF including their default APF support class and the supportKey.
| Viewer | Support Key | Support Class |
|---|---|---|
| {@link com.sas.swing.visuals.tableview.TableView Swing TableView} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#TABLEVIEW_SUPPORT TABLEVIEW_SUPPORT} | {@link com.sas.actionprovider.support.tableview.SwingTableViewSupport} |
| {@link com.sas.swing.visuals.olaptableview.OLAPTableView Swing OLAPTableView} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#OLAP_TABLEVIEW_SUPPORT OLAP_TABLEVIEW_SUPPORT} | {@link com.sas.actionprovider.support.olaptableview.SwingOLAPTableViewSupport} |
| {@link com.sas.swing.visuals.olaptableview.OLAPDrillState Swing OLAPDrillState} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#OLAP_DRILLSTATE_SUPPORT OLAP_DRILLSTATE_SUPPORT} | {@link com.sas.actionprovider.support.olaptableview.SwingOLAPDrillStateSupport} |
| {@link com.sas.swing.visuals.remotefileselector.IFileServiceSelectorPanel Swing IFileServiceSelectorPanel} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#REMOTE_IFILE_SERVICE_SUPPORT REMOTE_IFILE_SERVICE_SUPPORT} | {@link com.sas.actionprovider.support.remotefileselector.SwingIFileServiceSupport} |
| {@link com.sas.swing.visuals.remotefileselector.InformationServicesSelectorPanel Swing InformationServicesSelectorPanel} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#REMOTE_INFO_SERVICE_SUPPORT REMOTE_INFO_SERVICE_SUPPORT} | {@link com.sas.actionprovider.support.remotefileselector.SwingInformationServiceSupport} |
| *{@link com.sas.swing.visuals.remotefileselector.RemoteFileSearchComponent Swing RemoteFileSearchComponent} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#REMOTE_IFILE_SERVICE_SUPPORT REMOTE_IFILE_SERVICE_SUPPORT} | {@link com.sas.actionprovider.support.remotefileselector.SwingInformationServiceSupport} |
| *{@link com.sas.swing.visuals.remotefileselector.RemoteFileSearchComponent Swing RemoteFileSearchComponent} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#REMOTE_INFO_SERVICE_SUPPORT REMOTE_INFO_SERVICE_SUPPORT} | {@link com.sas.actionprovider.support.remotefileselector.SwingInformationServiceSupport} |
| {@link com.sas.servlet.tbeans.tableview.html.TableView JSP/Servlet TableView} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#TABLEVIEW_SUPPORT TABLEVIEW_SUPPORT} | {@link com.sas.actionprovider.support.tableview.HttpTableViewSupport} |
| {@link com.sas.servlet.tbeans.olaptableview.html.OLAPTableView JSP/Servlet OLAPTableView} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#OLAP_TABLEVIEW_SUPPORT OLAP_TABLEVIEW_SUPPORT} | {@link com.sas.actionprovider.support.olaptableview.HttpOLAPTableViewSupport} |
| {@link com.sas.servlet.tbeans.dataselectors.html.RelationalMenuBar JSP/Servlet RelationalMenuBar} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#RELATIONAL_MENUBAR_SUPPORT RELATIONAL_MENUBAR_SUPPORT} | {@link com.sas.actionprovider.support.dataselectors.HttpRelationalMenuBarSupport} |
| {@link com.sas.servlet.tbeans.dataselectors.html.OLAPMenuBar JSP/Servlet OLAPMenuBar} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#OLAP_MENUBAR_SUPPORT OLAP_MENUBAR_SUPPORT} | {@link com.sas.actionprovider.support.dataselectors.HttpMenuBarSupport} |
| **{@link com.sas.servlet.tbeans.navigationbar.html.NavigationBarRowScrollingElement JSP/Servlet NavigationBarRowScrollingElement} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#NAVIGATIONBAR_SUPPORT NAVIGATIONBAR_SUPPORT} | {@link com.sas.actionprovider.support.HttpNavigationBarSupport} |
| **{@link com.sas.servlet.tbeans.navigationbar.html.NavigationBarRowScrollingElement JSP/Servlet NavigationBarColumnScrollingElement} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#NAVIGATIONBAR_SUPPORT NAVIGATIONBAR_SUPPORT} | {@link com.sas.actionprovider.support.HttpNavigationBarSupport} |
| {@link com.sas.servlet.tbeans.html.Label JSP/Servlet Label} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#CUSTOM_SUPPORT CUSTOM_SUPPORT} | {@link com.sas.actionprovider.support.HttpCustomSupport} |
| ***{@link com.sas.servlet.tbeans.remotefileselector.html.RemoteFileSearch JSP/Servlet RemoteFileSearch} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#REMOTE_FILE_SELECTOR_COMPOSITE_SUPPORT REMOTE_FILE_SELECTOR_COMPOSITE_SUPPORT} | {@link com.sas.actionprovider.support.remotefileselector.HttpRemoteFileSelectorCompositeSupport} |
| ***{@link com.sas.servlet.tbeans.remotefileselector.html.RemoteFileToolBar JSP/Servlet RemoteFileToolBar} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#REMOTE_FILE_SELECTOR_COMPOSITE_SUPPORT REMOTE_FILE_SELECTOR_COMPOSITE_SUPPORT} | {@link com.sas.actionprovider.support.remotefileselector.HttpRemoteFileSelectorCompositeSupport} |
| ***{@link com.sas.servlet.tbeans.tableview.html.TableView JSP/Servlet RemoteFileSelector TableView} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#REMOTE_FILE_SELECTOR_COMPOSITE_SUPPORT REMOTE_FILE_SELECTOR_COMPOSITE_SUPPORT} | {@link com.sas.actionprovider.support.remotefileselector.HttpRemoteFileSelectorCompositeSupport} |
| {@link com.sas.servlet.tbeans.olaptableview.html.OLAPDrillState JSP/Servlet OLAPDrillState} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#OLAP_DRILLSTATE_SUPPORT OLAP_DRILLSTATE_SUPPORT} | {@link com.sas.actionprovider.support.olaptableview.HttpOLAPDrillStateSupport} |
| {@link com.sas.servlet.tbeans.graphics.html.BarChart JSP/Servlet BarChart} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#GRAPH_SUPPORT GRAPH_SUPPORT} | {@link com.sas.actionprovider.support.graphics.HttpGraphSupport} |
| {@link com.sas.servlet.tbeans.graphics.html.BarLineChart JSP/Servlet BarLineChart} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#GRAPH_SUPPORT GRAPH_SUPPORT} | {@link com.sas.actionprovider.support.graphics.HttpGraphSupport} |
| {@link com.sas.servlet.tbeans.graphics.html.LineChart JSP/Servlet LineChart} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#GRAPH_SUPPORT GRAPH_SUPPORT} | {@link com.sas.actionprovider.support.graphics.HttpGraphSupport} |
| {@link com.sas.servlet.tbeans.graphics.html.LinePlot JSP/Servlet LinePlot} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#GRAPH_SUPPORT GRAPH_SUPPORT} | {@link com.sas.actionprovider.support.graphics.HttpGraphSupport} |
| {@link com.sas.servlet.tbeans.graphics.html.PieChart JSP/Servlet PieChart} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#GRAPH_SUPPORT GRAPH_SUPPORT} | {@link com.sas.actionprovider.support.graphics.HttpGraphSupport} |
| {@link com.sas.servlet.tbeans.graphics.html.ScatterPlot JSP/Servlet ScatterPlot} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#GRAPH_SUPPORT GRAPH_SUPPORT} | {@link com.sas.actionprovider.support.graphics.HttpGraphSupport} |
| {@link com.sas.servlet.tbeans.graphics.html.BarChartComposite JSP/Servlet BarChartComposite} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#GRAPH_SUPPORT GRAPH_SUPPORT} | {@link com.sas.actionprovider.support.graphics.HttpGraphSupport} |
| {@link com.sas.servlet.tbeans.graphics.html.BarLineChartComposite JSP/Servlet BarLineChartComposite} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#GRAPH_SUPPORT GRAPH_SUPPORT} | {@link com.sas.actionprovider.support.graphics.HttpGraphSupport} |
| {@link com.sas.servlet.tbeans.graphics.html.LineChartComposite JSP/Servlet LineChartComposite} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#GRAPH_SUPPORT GRAPH_SUPPORT} | {@link com.sas.actionprovider.support.graphics.HttpGraphSupport} |
| {@link com.sas.servlet.tbeans.graphics.html.LinePlotComposite JSP/Servlet LinePlotComposite} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#GRAPH_SUPPORT GRAPH_SUPPORT} | {@link com.sas.actionprovider.support.graphics.HttpGraphSupport} |
| {@link com.sas.servlet.tbeans.graphics.html.PieChartComposite JSP/Servlet PieChartComposite} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#GRAPH_SUPPORT GRAPH_SUPPORT} | {@link com.sas.actionprovider.support.graphics.HttpGraphSupport} |
| {@link com.sas.servlet.tbeans.graphics.html.ScatterPlotComposite JSP/Servlet ScatterPlotComposite} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#GRAPH_SUPPORT GRAPH_SUPPORT} | {@link com.sas.actionprovider.support.graphics.HttpGraphSupport} |
| {@link com.sas.servlet.tbeans.olapgraphics.html.OLAPBarChart JSP/Servlet OLAPBarChart} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#OLAP_GRAPH_SUPPORT OLAP_GRAPH_SUPPORT} | {@link com.sas.actionprovider.support.olapgraphics.HttpOLAPGraphSupport} |
| {@link com.sas.servlet.tbeans.olapgraphics.html.OLAPBarLineChart JSP/Servlet OLAPBarLineChart} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#OLAP_GRAPH_SUPPORT OLAP_GRAPH_SUPPORT} | {@link com.sas.actionprovider.support.olapgraphics.HttpOLAPGraphSupport} |
| {@link com.sas.servlet.tbeans.olapgraphics.html.OLAPLineChart JSP/Servlet OLAPLineChart} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#OLAP_GRAPH_SUPPORT OLAP_GRAPH_SUPPORT} | {@link com.sas.actionprovider.support.olapgraphics.HttpOLAPGraphSupport} |
| {@link com.sas.servlet.tbeans.olapgraphics.html.OLAPLinePlot JSP/Servlet OLAPLinePlot} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#OLAP_GRAPH_SUPPORT OLAP_GRAPH_SUPPORT} | {@link com.sas.actionprovider.support.olapgraphics.HttpOLAPGraphSupport} |
| {@link com.sas.servlet.tbeans.olapgraphics.html.OLAPPieChart JSP/Servlet OLAPPieChart} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#OLAP_GRAPH_SUPPORT OLAP_GRAPH_SUPPORT} | {@link com.sas.actionprovider.support.olapgraphics.HttpOLAPGraphSupport} |
| {@link com.sas.servlet.tbeans.olapgraphics.html.OLAPScatterPlot JSP/Servlet OLAPScatterPlot} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#OLAP_GRAPH_SUPPORT OLAP_GRAPH_SUPPORT} | {@link com.sas.actionprovider.support.olapgraphics.HttpOLAPGraphSupport} |
| {@link com.sas.servlet.tbeans.olapgraphics.html.OLAPBarChartComposite JSP/Servlet OLAPBarChartComposite} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#OLAP_GRAPH_SUPPORT OLAP_GRAPH_SUPPORT} | {@link com.sas.actionprovider.support.olapgraphics.HttpOLAPGraphSupport} |
| {@link com.sas.servlet.tbeans.olapgraphics.html.OLAPBarLineChartComposite JSP/Servlet OLAPBarLineChartComposite} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#OLAP_GRAPH_SUPPORT OLAP_GRAPH_SUPPORT} | {@link com.sas.actionprovider.support.olapgraphics.HttpOLAPGraphSupport} |
| {@link com.sas.servlet.tbeans.olapgraphics.html.OLAPLineChartComposite JSP/Servlet OLAPLineChartComposite} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#OLAP_GRAPH_SUPPORT OLAP_GRAPH_SUPPORT} | {@link com.sas.actionprovider.support.olapgraphics.HttpOLAPGraphSupport} |
| {@link com.sas.servlet.tbeans.olapgraphics.html.OLAPLinePlotComposite JSP/Servlet OLAPLinePlotComposite} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#OLAP_GRAPH_SUPPORT OLAP_GRAPH_SUPPORT} | {@link com.sas.actionprovider.support.olapgraphics.HttpOLAPGraphSupport} |
| {@link com.sas.servlet.tbeans.olapgraphics.html.OLAPPieChartComposite JSP/Servlet OLAPPieChartComposite} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#OLAP_GRAPH_SUPPORT OLAP_GRAPH_SUPPORT} | {@link com.sas.actionprovider.support.olapgraphics.HttpOLAPGraphSupport} |
| {@link com.sas.servlet.tbeans.olapgraphics.html.OLAPScatterPlotComposite JSP/Servlet OLAPScatterPlotComposite} | {@link com.sas.actionprovider.support.ActionProviderSupportTypes#OLAP_GRAPH_SUPPORT OLAP_GRAPH_SUPPORT} | {@link com.sas.actionprovider.support.olapgraphics.HttpOLAPGraphSupport} |
*Note: The support class used by the Swing RemoteFileSearchComponent is dependent on the type of RemoteFileSelector it is being used within. If used within the {@link com.sas.swing.visuals.remotefileselector.InformationServicesSearchPanel} then it uses the support class mapped to {@link com.sas.actionprovider.support.ActionProviderSupportTypes#REMOTE_INFO_SERVICE_SUPPORT REMOTE_INFO_SERVICE_SUPPORT}.
**Note: The NavigationBarRowScrollingElement and NavigationBarColumnScrollingElement are used within the {@link com.sas.servlet.tbeans.navigationbar.html.TableRowNavigationBar} and {@link com.sas.servlet.tbeans.navigationbar.html.TableColumnNavigationBar}, respectively.
***Note: All three components are used within the {@link com.sas.servlet.tbeans.remotefileselector.html.InformationServicesSelector} and the {@link com.sas.servlet.tbeans.remotefileselector.html.RemoteFileSelector} components.
For More Information