ViewNavigator (Java™)
Represents a view navigator. A view navigator provides access to all or a subset of the entries in a view.
Syntax
public class ViewNavigator extends Base
Containment
Contained by: View
Contains: ViewEntry
Properties
CacheSize through getCacheSize and setCacheSize
Count through getCount
MaxLevel through getMaxLevel and setMaxLevel
ParentView through getParentView
Methods
recycle
Creation
You create a view navigator through the following View methods:
- createViewNav
- createViewNavFrom
- createViewNavFromAllUnread
- createViewNavFromCategory
- createViewNavFromChildren
- createViewNavFromDescendants
- createViewNavMaxLevel
Returned is a ViewNavigator object that represents some or all of the entries in the view.
Usage
The ViewNavigator methods let you:
- Access categories and totals as well as documents.
- Access information specific to the view such as the number of siblings of a view entry.
- Subset the view.
The ViewNavigator methods maintain a current pointer, which is the most recent entry you get or go to.
A goto method is favored over a get method for navigation-only purposes because a goto method does not create a ViewEntry object.
In a categorized view, documents are children of categories.
If a view has totals, the grand total is considered a category entry, and getLast returns that entry. Subtotals are available in the columnValues of category entries.
A view navigator remains associated with the parent view. A refresh of the parent view affects the view navigator. However, if a view navigator is empty upon creation, it remains empty and refreshing the parent view has no effect.
For remote (IIOP) operations, ViewNavigator caches entries. Methods that navigate using the current pointer take advantage of the cache while methods that navigate relative to a specified entry do not take advantage of the cache. Refreshing the parent view causes a cache update. The cache is turned off if AutoUpdate is true for the parent view; caching is resumed if AutoUpdate is set to false. You can set the cache size and should set it to try to minimize server access.
Automatic updates: avoid
Avoid automatically updating the parent view by explicitly setting IsAutoUpdate to false. Automatic updates degrade performance and may invalidate entries in the navigator ("Entry not found in index"). You can update the view as needed with refresh.