|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.ontopia.topicmaps.nav2.utils.TreeWidget
public class TreeWidget
PUBLIC: This class can output a nice collapsing/expanding tree view of a topic map 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.
Nested Class Summary | |
---|---|
protected class |
TreeWidget.UniversalSet
|
Field Summary | |
---|---|
protected java.util.Collection |
ancestors
|
protected static int |
CLOSE
|
protected static int |
CLOSE_ALL
|
protected NavigatorPageIF |
context
|
protected static int |
EXPAND_ALL
|
protected java.lang.String |
imageurl
|
protected java.util.Map |
map
|
protected java.lang.String |
nodeFrame
|
protected java.lang.String |
nodepage
|
protected static int |
OPEN
|
protected java.util.Set |
openNodes
|
protected java.lang.String |
ownpage
|
protected QueryProcessorIF |
processor
|
protected ParsedQueryIF |
query
|
protected java.lang.String |
staticurl
|
protected TopicMapIF |
topicmap
|
protected java.lang.String |
topquery
|
protected static int |
WINDOW_SIZE
|
protected int |
windowSize
|
Constructor Summary | |
---|---|
TreeWidget()
PUBLIC: Sets up the widget ready for use. |
|
TreeWidget(TopicMapIF topicmap,
java.lang.String query,
java.lang.String topquery,
java.lang.String ownpage,
java.lang.String nodepage)
PUBLIC: Sets up the widget ready for use. |
Method Summary | |
---|---|
protected TopicTreeNode |
buildTree()
|
protected void |
endRender(java.io.Writer out)
PUBLIC: Called after the tree has been rendered. |
protected QueryResultIF |
getChildren(TopicIF topic)
|
protected java.lang.String |
getId(TopicIF topic)
|
protected TMObjectIF |
getObjectById(java.lang.String id)
|
protected TopicIF |
getTopic(java.lang.String id)
|
protected void |
initializeContext(javax.servlet.http.HttpServletRequest request)
|
protected java.lang.String |
list(java.util.Set nodes)
|
protected java.lang.String |
makeNodeUrl(TopicTreeNode node)
PUBLIC: Produces the URL to the given node. |
protected void |
parseQueries()
|
protected void |
process(TopicTreeNode parent)
|
protected void |
renderAdditionalOnBottomExpandCloseLine(java.io.Writer out,
int topline)
PUBLIC: Performs any additional rendering on the bottom line of the open-all and close-all buttons. |
protected void |
renderAdditionalOnTopExpandCloseLine(java.io.Writer out,
int topline)
PUBLIC: Performs any additional rendering on the top line of the open-all and close-all buttons. |
protected void |
renderBackButton(java.io.Writer out,
int topline)
PUBLIC: Renders the back button at the top/bottom of the form. |
protected void |
renderCloseAllButton(java.io.Writer out,
int topline)
PUBLIC: Renders the close all button at the top/bottom of the form. |
protected void |
renderExpandAllButton(java.io.Writer out,
int topline)
PUBLIC: Renders the expand all button at the top/bottom of the form. |
protected void |
renderForwardButton(java.io.Writer out,
int topline)
PUBLIC: Renders the close all button at the top/bottom of the form. |
protected void |
renderNode(TopicTreeNode node,
java.io.Writer out)
PUBLIC: This method renders the tree node, including its link, but not the button in front of the node. |
protected void |
renderNodeButton(int topline,
int level,
int action,
java.lang.String id,
java.io.Writer out)
PUBLIC: Renders the +/- button in front of the node. |
protected void |
renderTree(TopicTreeNode node,
int topline,
java.io.Writer writer)
|
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 |
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 |
setNodeQueryString(java.lang.String nodeQuery)
PUBLIC: Sets the tolog query that given a node generates its children. |
void |
setOwnPageUrl(java.lang.String ownPageUrl)
PUBLIC: The URL of the page the widget is on. |
void |
setTopicMap(TopicMapIF topicmap)
PUBLIC: Sets the topic map used by the widget. |
void |
setTopQueryString(java.lang.String topQuery)
PUBLIC: Sets the tolog query that generates the list of top nodes. |
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. |
protected void |
startRender(java.io.Writer out)
PUBLIC: Called before rendering of the tree begins. |
java.lang.String |
toString(TopicIF topic)
|
protected int |
writeNode(TopicTreeNode node,
int topline,
java.io.Writer writer,
int level,
int lineno,
boolean indoc)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static final int OPEN
protected static final int CLOSE
protected static final int EXPAND_ALL
protected static final int CLOSE_ALL
protected static final int WINDOW_SIZE
protected QueryProcessorIF processor
protected java.lang.String nodepage
protected java.lang.String staticurl
protected java.util.Set openNodes
protected java.lang.String imageurl
protected int windowSize
protected NavigatorPageIF context
protected java.util.Collection ancestors
protected ParsedQueryIF query
protected TopicMapIF topicmap
protected java.util.Map map
protected java.lang.String topquery
protected java.lang.String ownpage
protected java.lang.String nodeFrame
Constructor Detail |
---|
public TreeWidget()
public TreeWidget(TopicMapIF topicmap, java.lang.String query, java.lang.String topquery, java.lang.String ownpage, java.lang.String nodepage)
topicmap
- The topic map being displayed.query
- A tolog query that given a node generates its
children. Use the %parent% parameter to reference the parent node
in the query. Make sure the query produces a 1-column result.topquery
- A tolog query that generates the list of top
nodes. Make sure the query produces a 1-column result.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.Method Detail |
---|
public void setTopicMap(TopicMapIF topicmap)
public void setWidgetName(java.lang.String name)
public void setTopQueryString(java.lang.String topQuery)
public void setNodeQueryString(java.lang.String nodeQuery)
public void setOwnPageUrl(java.lang.String ownPageUrl)
public void setNodePageUrl(java.lang.String nodePageUrl)
public void setImageUrl(java.lang.String imageurl)
public void setAddAnchor(boolean addAnchor)
public void setWindowSize(int windowSize)
public void setNodeFrame(java.lang.String nodeFrame)
public void run(javax.servlet.jsp.PageContext ctxt, java.io.Writer writer) throws java.io.IOException, InvalidQueryException, NavigatorRuntimeException
java.io.IOException
InvalidQueryException
NavigatorRuntimeException
public void run(javax.servlet.http.HttpServletRequest request, java.io.Writer writer) throws java.io.IOException, InvalidQueryException, NavigatorRuntimeException
java.io.IOException
InvalidQueryException
NavigatorRuntimeException
protected void parseQueries() throws InvalidQueryException
InvalidQueryException
protected void initializeContext(javax.servlet.http.HttpServletRequest request)
protected TopicTreeNode buildTree() throws InvalidQueryException
InvalidQueryException
protected QueryResultIF getChildren(TopicIF topic) throws InvalidQueryException
InvalidQueryException
protected void process(TopicTreeNode parent) throws InvalidQueryException
InvalidQueryException
protected void renderTree(TopicTreeNode node, int topline, java.io.Writer writer) throws java.io.IOException
java.io.IOException
protected int writeNode(TopicTreeNode node, int topline, java.io.Writer writer, int level, int lineno, boolean indoc) throws java.io.IOException
java.io.IOException
protected java.lang.String getId(TopicIF topic)
protected TMObjectIF getObjectById(java.lang.String id)
protected TopicIF getTopic(java.lang.String id)
protected java.lang.String list(java.util.Set nodes)
public java.lang.String toString(TopicIF topic)
protected void renderNode(TopicTreeNode node, java.io.Writer out) throws java.io.IOException
java.io.IOException
protected void renderNodeButton(int topline, int level, int action, java.lang.String id, java.io.Writer out) throws java.io.IOException
java.io.IOException
protected void renderBackButton(java.io.Writer out, int topline) throws java.io.IOException
java.io.IOException
protected void renderExpandAllButton(java.io.Writer out, int topline) throws java.io.IOException
java.io.IOException
protected void renderCloseAllButton(java.io.Writer out, int topline) throws java.io.IOException
java.io.IOException
protected void renderForwardButton(java.io.Writer out, int topline) throws java.io.IOException
java.io.IOException
protected void renderAdditionalOnTopExpandCloseLine(java.io.Writer out, int topline) throws java.io.IOException
java.io.IOException
protected void renderAdditionalOnBottomExpandCloseLine(java.io.Writer out, int topline) throws java.io.IOException
java.io.IOException
protected void startRender(java.io.Writer out) throws java.io.IOException
java.io.IOException
protected void endRender(java.io.Writer out) throws java.io.IOException
java.io.IOException
protected java.lang.String makeNodeUrl(TopicTreeNode node)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |