com.tonbeller.wcf.tabbed
Class TabbedHandler

java.lang.Object
  extended bycom.tonbeller.wcf.tabbed.TabbedHandler
All Implemented Interfaces:
NodeHandler, RequestListener

public class TabbedHandler
extends java.lang.Object
implements NodeHandler, RequestListener

A NodeHandler that is associated with a <tabbed> element and manages visibility of its <panel> children.

Author:
av

Constructor Summary
TabbedHandler()
           
 
Method Summary
 void addPanelChangedListener(PanelChangeListener l)
           
 void destroy(javax.servlet.http.HttpSession session)
           
protected  void fireChanged(org.w3c.dom.Element currentPanel)
           
 NodeHandler getPanelHandler(java.lang.String panelId)
          returns the NodeHandler for the panel or null if there was no NodeHandler.
 void initialize(RequestContext context, XmlComponent comp, org.w3c.dom.Element tabbed)
          initializes the handler
 void removePanelChangedListener(PanelChangeListener l)
           
 void render(RequestContext context)
          does nothing
 void request(RequestContext context)
          notified by a Dispatcher for specific HTTP Requests
 void setCurrentPanel(RequestContext context, org.w3c.dom.Element newCurrentPanel)
          sets the current panel.
 void setHidden(RequestContext context, org.w3c.dom.Element panel, boolean hidden)
          hides or unhides the panel with panelId.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TabbedHandler

public TabbedHandler()
Method Detail

initialize

public void initialize(RequestContext context,
                       XmlComponent comp,
                       org.w3c.dom.Element tabbed)
Description copied from interface: NodeHandler
initializes the handler

Specified by:
initialize in interface NodeHandler
Parameters:
context - the current request
tabbed - the element that this handler is responsible for

destroy

public void destroy(javax.servlet.http.HttpSession session)
Specified by:
destroy in interface NodeHandler

request

public void request(RequestContext context)
             throws java.lang.Exception
Description copied from interface: RequestListener
notified by a Dispatcher for specific HTTP Requests

Specified by:
request in interface RequestListener
Parameters:
context - the current request
Throws:
java.lang.Exception

render

public void render(RequestContext context)
            throws java.lang.Exception
does nothing

Specified by:
render in interface NodeHandler
Throws:
java.lang.Exception

addPanelChangedListener

public void addPanelChangedListener(PanelChangeListener l)

removePanelChangedListener

public void removePanelChangedListener(PanelChangeListener l)

fireChanged

protected void fireChanged(org.w3c.dom.Element currentPanel)

setCurrentPanel

public void setCurrentPanel(RequestContext context,
                            org.w3c.dom.Element newCurrentPanel)
sets the current panel. If the panel is hidden, the hidden attribute is removed (the panel will be visible). Fires a PanelChangeEvent.

Parameters:
context -

setHidden

public void setHidden(RequestContext context,
                      org.w3c.dom.Element panel,
                      boolean hidden)
hides or unhides the panel with panelId. If the current panel gets hidden, the first non-hidden panel will become the current panel.

If the panel contains a role attribute, the call is ignored unless the current user is a member of that role.

Parameters:
context -

getPanelHandler

public NodeHandler getPanelHandler(java.lang.String panelId)
returns the NodeHandler for the panel or null if there was no NodeHandler. NodeHandlers are registered via the handler attribute in the XML file describing the form.

Parameters:
panelId - id attribute of the panel element
Returns:
the node handler or null