i-net Clear Reports

com.inet.viewer
Interface ReportViewer

All Superinterfaces:
ViewerComponent
All Known Implementing Classes:
SwingReportViewer

public interface ReportViewer
extends ViewerComponent

This is the top level viewer instance of the i-net Clear Reports report viewer, and allows creation, retrieval, and removal of one or more ReportViews. To create a ReportView, a RenderData object is necessary, in order for the ReportView to be able to fetch its report data. This class also holds the toolbar which can be used to fire actions, add or remove buttons.

Since:
7.0

Field Summary
static java.lang.String PROP_STATUS_MESSAGE
          Property for use by the PropertyChangeListener, standing for a change in the status bar message
static java.lang.String UIPROP_SCROLLPANE_BACKGROUND
          UI property key for setting the background color in the scroll pane area of the Viewer where no page can be seen.
 
Method Summary
 ReportView addNewReportView(RenderData data, boolean isClosable)
          Creates a new ReportView object, using the RenderData parameter as its source of report data.
 ReportView addNewReportView(RenderData data)
          Creates a new ReportView object, using the RenderData parameter as its source of report data.
 void addReportView(ReportView view, boolean isClosable)
          Adds a given ReportView to the ReportViewer - this ReportView need not be initialized at this point in time.
 void addReportView(ReportView view)
          Adds a given ReportView to the ReportViewer - this ReportView need not be initialized at this point in time.
 void addReportViewChangeListener(ReportViewChangeListener rvcl)
          Adds an ReportViewChangeListener to the ReportView.
 void addStateChangeListener(java.beans.PropertyChangeListener l)
          Adds a PropertyChangeListener to the listener list.
 void closeAllReportViews()
          This method permanently closes and removes all ReportViews currently in the ReportViewer.
 void closeReportView(int index)
          Permanently closes and removes the ReportView at the given index, 0-based.
 void closeReportView(ReportView view)
          Permanently closes and disposes the ReportView given as the parameter and removes it from the ReportViewer.
 ReportView getCurrentReportView()
          Returns the currently visible or selected ReportView object.
 ProgressPool getProgressPool()
          Returns the ProgressPool of the viewer.
 ReportView getReportView(int i)
          Returns the report view at the given index.
 int getReportViewCount()
          Returns the number of ReportViews registered and added to this viewer.
 ToolBar getToolBar()
          Returns the current ToolBar - this tool bar belongs to the currently visible or selected ReportView object.
 ViewerContext getViewerContext()
          Returns the current ViewerContext for this viewer, which is used for reacting to and handling events occurring in the viewer.
 boolean hasGroupTree()
          Returns whether the global "hasGroupTree" setting is on or off (by default it is on).
 boolean hasStatusBar()
          Returns whether the global setting of "hasStatusBar" is on or off (by default it is on).
 void removeReportViewChangeListener(ReportViewChangeListener rvcl)
          Removes an ReportViewChangeListener from the ReportView.
 void removeStateChangeListener(java.beans.PropertyChangeListener l)
          Removes a PropertyChangeListener from the list of listeners.
 void setCurrentReportView(ReportView view)
          Sets which ReportView is currently selected and to be affected by any toolbar actions, etc.
 void setCustomPromptEditor(java.lang.String promptName, int valueType, CustomPromptEditor editor)
          Registers the given CustomPromptEditor for prompts with the given name and value type, case-insensitive.
 void setHasGroupTree(boolean hasGroupTree)
          Sets all report views to whether or not they are to show a group tree.
 void setHasStatusBar(boolean hasStatusBar)
          Sets for all report views whether or not they are to show a status bar.
 void setViewerContext(ViewerContext context)
          Sets the ViewerContext for this viewer, used for reacting to and handling events which occur in the viewer.
 
Methods inherited from interface com.inet.viewer.ViewerComponent
getComponent
 

Field Detail

PROP_STATUS_MESSAGE

static final java.lang.String PROP_STATUS_MESSAGE
Property for use by the PropertyChangeListener, standing for a change in the status bar message

Since:
7.0
See Also:
Constant Field Values

UIPROP_SCROLLPANE_BACKGROUND

static final java.lang.String UIPROP_SCROLLPANE_BACKGROUND
UI property key for setting the background color in the scroll pane area of the Viewer where no page can be seen. If no property is set, Color.LIGHT_GRAY is taken by default.

See Also:
Constant Field Values
Method Detail

getCurrentReportView

ReportView getCurrentReportView()
Returns the currently visible or selected ReportView object. Note that this will return null if no ReportView is currently visible or selected.

Returns:
Currently active ReportView, or null if none is currently active
Since:
7.0

getReportViewCount

int getReportViewCount()
Returns the number of ReportViews registered and added to this viewer. The return value -1 is the maximum allowed index for getReportView(int).

Returns:
The number of ReportViews held by the ReportViewer
Since:
7.0

getReportView

ReportView getReportView(int i)
Returns the report view at the given index. Note this report view need not be the current report view or even visible. The maximum allowed index is getReportViewCount()-1, the minimum allowed is 0.

Parameters:
i - Index of report view to fetch.
Returns:
ReportView at the index given
Throws:
java.lang.IndexOutOfBoundsException - If index is smaller than 0 or is greater than or equal to getReportViewCount().
Since:
7.0

setCurrentReportView

void setCurrentReportView(ReportView view)
Sets which ReportView is currently selected and to be affected by any toolbar actions, etc. Any time the toolbar or group view needs to fire an action, it asks the viewer for the current report view via getCurrentReportView(). This method makes sure that the correct report view is set as "current".
Note that this method also notifies each ReportViewChangeListener of a change in the currently selected report view.
Note also that "null" is allowed here which causes no view at all to be viewed as the currently selected report view.

Parameters:
view - ReportView to give focus to and to set as "current" report view.
Since:
7.0
See Also:
getCurrentReportView()

getToolBar

ToolBar getToolBar()
Returns the current ToolBar - this tool bar belongs to the currently visible or selected ReportView object. This object is responsible for various user actions for navigating through the report, printing, etc.

Returns:
ToolBar of current ReportView
Since:
7.0

addReportView

void addReportView(ReportView view,
                   boolean isClosable)
Adds a given ReportView to the ReportViewer - this ReportView need not be initialized at this point in time.
Note that as long as the viewer exists, this report view will be held in memory, unless it is removed via closeReportView(int) or closeAllReportViews().

Parameters:
view - ReportView to add
isClosable - Whether the report view is to have a close button
Since:
7.4
See Also:
closeReportView(int), closeReportView(ReportView), closeAllReportViews()

addNewReportView

ReportView addNewReportView(RenderData data,
                            boolean isClosable)
Creates a new ReportView object, using the RenderData parameter as its source of report data. Also adds this newly created ReportView to the ReportViewer, therefore this view should not simply be added somewhere else without first removing it from the viewer. Note that as long as the viewer exists, this report view will be held in memory, unless it is removed via closeReportView(int) or closeAllReportViews().
If a report with precisely the same properties has already been added, this will not create an identical second view, rather it will give focus to the view already opened. If you want to add two identical reports to the same viewer, simply add an identifying property to the report views, such as a time stamp.

Parameters:
data - RenderData object specifying the source of report data
isClosable - Whether the report view is to have a close button
Returns:
Newly created ReportView - this ReportView has now been added to a ReportViewer and should not simply be added somewhere else without first removing it from the viewer.
Since:
7.4
See Also:
closeReportView(int), closeReportView(ReportView), closeAllReportViews()

addReportView

void addReportView(ReportView view)
Adds a given ReportView to the ReportViewer - this ReportView need not be initialized at this point in time.
Note that as long as the viewer exists, this report view will be held in memory, unless it is removed via closeReportView(int) or closeAllReportViews(). In this case, it can not be added back to the viewer via this method. Instead it must be recreated with the RenderData.
Note also that the report view will not have a close button if it is the first report view added to the viewer, otherwise it will. If you'd like to customize this behavior, use the method addReportView(ReportView, boolean) instead, where you can manually set whether or not the view is to have a close button.

Parameters:
view - ReportView to add
Throws:
java.lang.IllegalStateException - if this view has previously been removed via closeReportView(ReportView) or closeReportView(int) or closeAllReportViews().
Since:
7.0
See Also:
closeReportView(int), closeReportView(ReportView), closeAllReportViews(), addReportView(ReportView, boolean)

addNewReportView

ReportView addNewReportView(RenderData data)
Creates a new ReportView object, using the RenderData parameter as its source of report data. Also adds this newly created ReportView to the ReportViewer.
Note that as long as the viewer exists, this report view will be held in memory, unless it is removed via closeReportView(int) or closeAllReportViews(). In this case, it can not be added back to the Viewer via this method. Instead it must be recreated with the RenderData.
Note also that the report view will not have a close button if it is the first report view added to the viewer, otherwise it will. If you'd like to customize this behavior, use the method addNewReportView(RenderData, boolean) instead, where you can manually set whether or not the view is to have a close button.
If a report with precisely the same properties has already been added, this will not create an identical second view, rather it will give focus to the view already opened. If you want to add two identical reports to the same viewer, simply add an identifying property to the report views, such as a time stamp.

Parameters:
data - RenderData object specifying the source of report data
Returns:
Newly created ReportView - this ReportView has now been added to a ReportViewer and should not simply be added somewhere else without first removing it from the viewer.
Throws:
java.lang.IllegalStateException - if this view has previously been removed via closeReportView(ReportView) or closeReportView(int) or closeAllReportViews().
Since:
7.0
See Also:
closeReportView(int), closeReportView(ReportView), closeAllReportViews(), addNewReportView(RenderData, boolean)

closeReportView

void closeReportView(int index)
Permanently closes and removes the ReportView at the given index, 0-based. That is, closeReportView(0) will close and remove the first ReportView added to the Viewer, closeReportView(1) the second, etc. This will also close any currently open connections to the ReportView's RenderData object. Note that this causes the report view to be disposed of - trying to add it back to the viewer via addReportView(ReportView, boolean) will result in an IllegalStateException. Instead simply create a new report view with the same RenderData. If there is no ReportView at this index, this method will throw a ViewerException.

Parameters:
index - Index of ReportView to close and remove.
Since:
7.0

closeReportView

void closeReportView(ReportView view)
Permanently closes and disposes the ReportView given as the parameter and removes it from the ReportViewer. This will also close any currently open connections to the ReportView's RenderData object. Note that this causes the report view to be disposed of - trying to add it back to the viewer via addReportView(ReportView, boolean) will result in an IllegalStateException. Instead simply create a new report view with the same RenderData.

Parameters:
view - ReportView to close and remove from the ReportViewer
Since:
7.0

closeAllReportViews

void closeAllReportViews()
This method permanently closes and removes all ReportViews currently in the ReportViewer. This will also close any currently open connections to the various RenderData objects to which the ReportViews are connected. Note that this causes the report views to be disposed of - trying to add one of them back to the viewer via addReportView(ReportView, boolean) will result in an IllegalStateException. Instead simply create a new report view with the same RenderData.

Since:
7.0

addReportViewChangeListener

void addReportViewChangeListener(ReportViewChangeListener rvcl)
Adds an ReportViewChangeListener to the ReportView.

Parameters:
rvcl - the ReportViewChangeListener to be added
Since:
7.0

removeReportViewChangeListener

void removeReportViewChangeListener(ReportViewChangeListener rvcl)
Removes an ReportViewChangeListener from the ReportView.

Parameters:
rvcl - the listener to be removed
Since:
7.0

setHasGroupTree

void setHasGroupTree(boolean hasGroupTree)
Sets all report views to whether or not they are to show a group tree. If this is false, the report views are not to show any group tree, regardless of whether or not their reports have groups.

Parameters:
hasGroupTree - Are all report views to show a group tree?
Since:
7.0

hasGroupTree

boolean hasGroupTree()
Returns whether the global "hasGroupTree" setting is on or off (by default it is on). Note that there can always be local exceptions to this rule.

Returns:
Global "hasGroupTree" setting
Since:
7.0

setHasStatusBar

void setHasStatusBar(boolean hasStatusBar)
Sets for all report views whether or not they are to show a status bar. If this is false, the report views are not to show a status bar.

Parameters:
hasStatusBar - Are all report views to show a status bar?
Since:
7.0

hasStatusBar

boolean hasStatusBar()
Returns whether the global setting of "hasStatusBar" is on or off (by default it is on).

Returns:
Global "hasStatusBar" setting
Since:
7.0

getProgressPool

ProgressPool getProgressPool()
Returns the ProgressPool of the viewer. The ProgressPool handles all progresses of the viewer. You can add listeners to the ProgressPool to watch status changes of the progresses.

Returns:
Returns the ProgressPool of the viewer.
Since:
7.0

addStateChangeListener

void addStateChangeListener(java.beans.PropertyChangeListener l)
Adds a PropertyChangeListener to the listener list. The listener will be informed about status changes of all progresses and messages changes in the StatusBar.

Parameters:
l - PropertyChangeListener to add to the list of listeners
Since:
7.0

removeStateChangeListener

void removeStateChangeListener(java.beans.PropertyChangeListener l)
Removes a PropertyChangeListener from the list of listeners.

Parameters:
l - PropertyChangeListener to remove from the list of listeners.
Since:
7.0

setViewerContext

void setViewerContext(ViewerContext context)
Sets the ViewerContext for this viewer, used for reacting to and handling events which occur in the viewer.

Parameters:
context - ViewerContext to use for this viewer. Can not be null.
Throws:
java.lang.IllegalArgumentException - If context is null.
Since:
7.0
See Also:
ViewerContext

getViewerContext

ViewerContext getViewerContext()
Returns the current ViewerContext for this viewer, which is used for reacting to and handling events occurring in the viewer. By default, this will return an instance of SwingViewerContext.

Returns:
ViewerContext used by this viewer
Since:
7.0
See Also:
ViewerContext

setCustomPromptEditor

void setCustomPromptEditor(java.lang.String promptName,
                           int valueType,
                           CustomPromptEditor editor)
Registers the given CustomPromptEditor for prompts with the given name and value type, case-insensitive. Setting null as the editor unregisters any CustomPromptEditor for the given name and value type. An existing CustomPromptEditor for the given name and value type will be replaced with the one set with this method. Depending on the value type of the prompt, your custom prompt editor should return one of the following types:

Parameters:
promptName - name of prompt to register custom prompt editor for, may not be null
valueType - value type of the promptName. Use the constants form the class PromptData for the types.
editor - custom prompt editor for prompting certain prompts with your own components.
Throws:
java.lang.NullPointerException - if promptName is null
Since:
9.0

i-net Clear Reports

Copyright © 1999-2015 by i-net software GmbH