public class NavHistory extends ApplicationLoggingImpl
In this implementation of bread crumbs we will keep track of the path that the user has traversed from the top of the site to the current location. We will keep a stack of locations visited and move items on and off that stack as needed to keep the list a concise path from user's current position to the "top" of the site.
This class is intended to be instantiated as a session scoped component and used with the NavHistoryCollector.
There are 4 ways that a user can move:
This works for navigation among items in a single repository or multiple repositories. If you have a site with a catalog and a magazine, for example, and each has a separate repository, then you can use a single NavHistory for the whole site or you may maintain a MagazineNavHistory and a CatalogNavHistory service so that you can remember position in the Magazine while the user visits the catalog and vice versa.
Usage:
The property NavHistory.navHistory is a LinkedList of objects which may be RepositoryItem or NavHistoryItems which represent the special pages like "search" and "home". To render the navigation history, which gives upwards navigation:
<droplet bean="/atg/dynamo/droplet/ForEach"> <param name="array" value="property:NavHistory.navHistory"> <oparam name="output"> <a href="param:element.template.url"> <param name="itemType" value="param:element.itemDescriptor.itemDescriptorName"> <param name="itemId" value="param:element.repositoryId"> <param name="navAction" value="pop"> <valueof param="element.displayName"></valueof> </a> </oparam> </droplet>
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CLASS_VERSION
Class version string
|
DEFAULT_LOG_TRACE_STATUS
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS
Constructor and Description |
---|
NavHistory() |
Modifier and Type | Method and Description |
---|---|
java.util.LinkedList |
getDefaultHistory(java.lang.Object pItem)
Use this method to return the navhistory to display
if there is no actual history in the user's session.
|
int |
getNavCount() |
java.util.LinkedList |
getNavHistory() |
void |
incrementNavCount() |
boolean |
navigate(java.lang.Object pItem,
java.lang.String pNavAction)
This method uses navAction to decide how to place pItem on
the NavHistory property and then does it.
|
void |
resetHistory()
this method erases all navHistory
|
void |
setNavCount(int pNavCount) |
void |
setNavHistory(java.util.LinkedList pNavHistory) |
java.lang.String |
toString()
For debugging purposes, this method can be used to
print the contents of the navHistory property.
|
addGlobalLogListeners, addLogListener, getLoggingForVlogging, getLoggingIdentifer, getLoggingIdentifier, getLogListenerCount, getLogListeners, initializeFromServiceEvent, isAutoInitListeners, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, removeLogListener, sendLogEvent, setAutoInitListeners, setLoggingDebug, setLoggingError, setLoggingIdentifier, setLoggingInfo, setLoggingTrace, setLoggingWarning
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogDebugTrace, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning
public void setNavHistory(java.util.LinkedList pNavHistory)
public java.util.LinkedList getNavHistory()
public void setNavCount(int pNavCount)
public int getNavCount()
public void incrementNavCount()
public void resetHistory()
public boolean navigate(java.lang.Object pItem, java.lang.String pNavAction)
public java.util.LinkedList getDefaultHistory(java.lang.Object pItem)
public java.lang.String toString()
toString
in class java.lang.Object