net.ontopia.topicmaps.nav2.utils
Class DynamicTreeWidget

java.lang.Object
  extended by net.ontopia.topicmaps.nav2.utils.DynamicTreeWidget

public class DynamicTreeWidget
extends java.lang.Object

EXPERIMENTAL: This class can output a nice collapsing/expanding tree view of a topic map implemented with DHTML, which uses tolog queries to produce the tree. The class is configurable in various ways, and can also be subclassed to further fine-tune the rendering.

Since:
3.0

Constructor Summary
DynamicTreeWidget()
          PUBLIC: Sets up the widget ready for use.
DynamicTreeWidget(TopicMapIF topicmap, java.lang.String tablequery, java.lang.String ownpage, java.lang.String nodepage)
          PUBLIC: Sets up the widget ready for use.
 
Method Summary
 void run(javax.servlet.http.HttpServletRequest request, java.io.Writer writer)
          PUBLIC: Runs the widget, producing the output.
 void run(javax.servlet.jsp.PageContext ctxt, java.io.Writer writer)
          PUBLIC: Runs the widget, producing the output.
 void setAddAnchor(boolean addAnchor)
          PUBLIC: If set to true the widget will add anchors on all links that open/close nodes in the tree.
 void setChildrenComparator(java.util.Comparator childrenComparator)
           
 void setDataQuery(java.lang.String dataquery)
           
 void setDebug(boolean debug)
          INTERNAL: Debug flag.
 void setDependentWidgets(java.lang.String[] widget_names)
          PUBLIC: The name of the session key in which the set of open nodes is stored.
 void setImageUrl(java.lang.String imageurl)
          PUBLIC: The URL at which the graphics used by the widget are found.
 void setNodeFrame(java.lang.String nodeFrame)
          PUBLIC: The name of the HTML frame in which to open links to nodes.
 void setNodePageUrl(java.lang.String nodePageUrl)
          PUBLIC: The URL of of the page that shows the nodes.
 void setOwnPageUrl(java.lang.String ownPageUrl)
          PUBLIC: The URL of the page the widget is on.
 void setTableQuery(java.lang.String tablequery)
          EXPERIMENTAL: The name of the HTML frame in which to open links to nodes.
 void setTableQueryString(java.lang.String tablequery)
          PUBLIC: Sets the tolog query that generates the entire tree.
 void setTopicMap(TopicMapIF topicmap)
          PUBLIC: Sets the topic map used by the widget.
 void setTopQuery(java.lang.String topquery)
           
 void setWidgetName(java.lang.String name)
          PUBLIC: The name of the session key in which the set of open nodes is stored.
 void setWindowSize(int windowSize)
          PUBLIC: Sets the maximum number of nodes displayed by the widget at once.
 java.lang.String toString(TopicIF topic)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DynamicTreeWidget

public DynamicTreeWidget(TopicMapIF topicmap,
                         java.lang.String tablequery,
                         java.lang.String ownpage,
                         java.lang.String nodepage)
                  throws InvalidQueryException
PUBLIC: Sets up the widget ready for use.

Parameters:
topicmap - The topic map being displayed.
tablequery - A tolog query that generates the entire tree. The query must have at least two columns, where the first column contains all the parent nodes and the second column contains the children of those parents. Any further columns will be used to populate the data attribute of the tree nodes.
ownpage - The URL of the page the widget is on. The widget will append request parameters in the form "a=b&c=d&e=f..."
nodepage - The URL of of the page that shows the nodes.
Throws:
InvalidQueryException

DynamicTreeWidget

public DynamicTreeWidget()
PUBLIC: Sets up the widget ready for use.

Method Detail

setTopicMap

public void setTopicMap(TopicMapIF topicmap)
PUBLIC: Sets the topic map used by the widget.


setTableQueryString

public void setTableQueryString(java.lang.String tablequery)
PUBLIC: Sets the tolog query that generates the entire tree. The query must have at least two columns, where the first column contains all the parent nodes and the second column contains the children of those parents. Any further columns will be used to populate the data attribute of the tree nodes.


setOwnPageUrl

public void setOwnPageUrl(java.lang.String ownPageUrl)
PUBLIC: The URL of the page the widget is on. The widget will append request parameters in the form "a=b&c=d&e=f..."


setNodePageUrl

public void setNodePageUrl(java.lang.String nodePageUrl)
PUBLIC: The URL of of the page that shows the nodes.


setDebug

public void setDebug(boolean debug)
INTERNAL: Debug flag. Used only for debugging purposes.


setWidgetName

public void setWidgetName(java.lang.String name)
PUBLIC: The name of the session key in which the set of open nodes is stored. Using the same session key for different widgets will make them share open/closed information.


setDependentWidgets

public void setDependentWidgets(java.lang.String[] widget_names)
PUBLIC: The name of the session key in which the set of open nodes is stored. Using the same session key for different widgets will make them share open/closed information.


setImageUrl

public void setImageUrl(java.lang.String imageurl)
PUBLIC: The URL at which the graphics used by the widget are found. The widget will produce HTML like <img src="[imageurl]spacer.gif"> to refer to the graphics.


setAddAnchor

public void setAddAnchor(boolean addAnchor)
PUBLIC: If set to true the widget will add anchors on all links that open/close nodes in the tree. The default is true.


setWindowSize

public void setWindowSize(int windowSize)
PUBLIC: Sets the maximum number of nodes displayed by the widget at once. If the number of nodes to display exceeds the maximum the widget will break the display into multiple "pages".


setNodeFrame

public void setNodeFrame(java.lang.String nodeFrame)
PUBLIC: The name of the HTML frame in which to open links to nodes.


run

public void run(javax.servlet.jsp.PageContext ctxt,
                java.io.Writer writer)
         throws java.io.IOException,
                InvalidQueryException,
                net.ontopia.topicmaps.nav2.core.NavigatorRuntimeException
PUBLIC: Runs the widget, producing the output.

Throws:
java.io.IOException
InvalidQueryException
net.ontopia.topicmaps.nav2.core.NavigatorRuntimeException

setTableQuery

public void setTableQuery(java.lang.String tablequery)
EXPERIMENTAL: The name of the HTML frame in which to open links to nodes.

Since:
2.0.3

setChildrenComparator

public void setChildrenComparator(java.util.Comparator childrenComparator)

setTopQuery

public void setTopQuery(java.lang.String topquery)

setDataQuery

public void setDataQuery(java.lang.String dataquery)

run

public void run(javax.servlet.http.HttpServletRequest request,
                java.io.Writer writer)
         throws java.io.IOException,
                InvalidQueryException,
                net.ontopia.topicmaps.nav2.core.NavigatorRuntimeException
PUBLIC: Runs the widget, producing the output.

Throws:
java.io.IOException
InvalidQueryException
net.ontopia.topicmaps.nav2.core.NavigatorRuntimeException
Since:
2.2.1

toString

public java.lang.String toString(TopicIF topic)


Copyright © 2000-2010 Ontopia.