org.sandev.tools.HTTP
Class XHTMLScreenAdaptor

java.lang.Object
  extended byorg.sandev.tools.HTTP.XHTMLScreenAdaptor
All Implemented Interfaces:
org.sandev.basics.util.UIFormAdaptor, org.sandev.ui.util.UIScreenAdaptor

public class XHTMLScreenAdaptor
extends java.lang.Object
implements org.sandev.ui.util.UIScreenAdaptor

Converts a Screen into XHTML, and reconstructs it from the posted form data. For overview information, refer to the UIScreenAdaptor interface definition. The XHTMLScreenAdaptor uses an AbstractXHTMLFormAdaptor derived class in processing, which must be set by the caller.


Field Summary
protected  AbstractXHTMLFormAdaptor formAdaptor
          We need an AbstractXHTMLFormAdaptor derived class to do our work.
static java.lang.String LINKACTIONPREFIX
          A prefix used to identiy all interactive actions defined for a link.
protected  org.sandev.ui.util.SandTransformer sandTrans
          We need a SandTransformer to do our work.
static java.lang.String SCREENPARAM
          The parameter holding the name of the screen we are on.
 
Fields inherited from interface org.sandev.basics.util.UIFormAdaptor
SANDUILINK_REGEXP
 
Constructor Summary
XHTMLScreenAdaptor()
          Default ctor does nothing
 
Method Summary
protected  boolean actionActive(org.sandev.ui.sandmessages.Action action, org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          Return true if this action is active, false otherwise.
 boolean allowEditReadOnly()
          CALLTHROUGH to our AbstractXHTMLFormAdaptor
protected  void debug(java.lang.String text)
          Write the given debug text to the log.
protected  void doRenderActions(java.io.PrintWriter out, java.lang.String prefix, org.sandev.ui.sandmessages.Link link, org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user, org.sandev.basics.util.UserWorkLog uwl)
          Walk the actions for this link and do what is needed.
protected  void doRenderTabs(java.io.PrintWriter out, java.lang.String prefix, org.sandev.ui.sandmessages.Link link, org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user, org.sandev.basics.util.UserWorkLog uwl)
          Like doRenderActions but for tabs, which are always requests.
protected  void dumpEntryPoints(java.io.PrintWriter out, java.lang.String prefix, org.sandev.ui.sandmessages.SandUI ui, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user, org.sandev.basics.util.AuthFilter filter, org.sandev.basics.util.UIRenderOutput uiro, org.sandev.basics.util.UserWorkLog uwl, java.util.Locale locale)
          Dump out a block of links to the top level entry points, for use in a nav bar or similar mechanism.
protected  void dumpFormLink(org.sandev.basics.util.UIRenderOutputString uiros, java.lang.String prefix, org.sandev.ui.sandmessages.Link link, org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user, org.sandev.basics.util.UserWorkLog uwl)
          Write out the form with any action buttons required.
 void dumpFormOutput(org.sandev.basics.util.UIRenderOutput uiro, java.lang.String formName, org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormAdaptorCallback callback, org.sandev.basics.util.AuthUser user, org.sandev.basics.util.AuthFilter filter)
          CALLTHROUGH to our AbstractXHTMLFormAdaptor
 void dumpGeneralInfo(java.io.PrintWriter out, org.sandev.basics.util.UIFormOwner owner)
          Dump out other general information useful for display.
protected  boolean dumpLink(java.io.PrintWriter out, java.lang.String prefix, org.sandev.ui.sandmessages.Link link, org.sandev.ui.sandmessages.SandUI ui, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user, org.sandev.basics.util.AuthFilter filter, org.sandev.basics.util.UIRenderOutput uiro, org.sandev.basics.util.UserWorkLog uwl, java.util.Locale locale)
          Dump out a link.
protected  void dumpLinks(java.io.PrintWriter out, java.lang.String prefix, org.sandev.ui.sandmessages.SandUI ui, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user, org.sandev.basics.util.AuthFilter filter, org.sandev.basics.util.UIRenderOutput uiro, org.sandev.ui.sandmessages.Screen screen, org.sandev.basics.util.UserWorkLog uwl, java.util.Locale locale)
          Dump the links for this screen.
 void dumpLocale(java.io.PrintWriter out, java.util.Locale locale)
          Dump out the Locale information so it will be available for transform processing.
protected  void dumpMessageAsValue(java.io.PrintWriter out, java.lang.String prefix, org.sandev.basics.structs.SandInstanceMessage msg)
          Dump out the given instance message as a single value.
 void dumpPageFooter(org.sandev.basics.util.UIRenderOutput uiro, java.lang.String closure)
          CALLTHROUGH to our AbstractXHTMLFormAdaptor
 void dumpPageHeader(org.sandev.basics.util.UIRenderOutput uiro, java.lang.String title)
          CALLTHROUGH to our AbstractXHTMLFormAdaptor
protected  void dumpPlainLink(org.sandev.basics.util.UIRenderOutputString uiros, java.lang.String prefix, org.sandev.ui.sandmessages.Link link, org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user, org.sandev.basics.util.UserWorkLog uwl)
          Write out the text or empty link with any action buttons required.
 void dumpScreen(org.sandev.basics.util.UIRenderOutput uiro, org.sandev.ui.sandmessages.Screen screen, org.sandev.ui.sandmessages.SandUI ui, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user, org.sandev.basics.util.AuthFilter filter, org.sandev.basics.util.UserWorkLog uwl, java.util.Locale locale)
          Given a output rendering context, render the given Screen for display.
protected  void dumpUserWorkLog(java.io.PrintWriter out, org.sandev.basics.util.UserWorkLog uwl)
          Dump out the UserWorkLog, if available and anything was written to it.
protected  void dumpWireframeLink(org.sandev.basics.util.UIRenderOutputString uiros, org.sandev.ui.sandmessages.Link link)
          Dump out the wireframeText directly.
 boolean[] getActionSupportMap()
          CALLTHROUGH to our AbstractXHTMLFormAdaptor
 java.lang.String[] getActionTextMap()
          CALLTHROUGH to our AbstractXHTMLFormAdaptor
 boolean[] getDefaultActionSupportMap()
          CALLTHROUGH to our AbstractXHTMLFormAdaptor
 java.lang.String[] getDefaultActionTextMap()
          CALLTHROUGH to our AbstractXHTMLFormAdaptor
 AbstractXHTMLFormAdaptor getFormAdaptor()
          accessor for formAdaptor
 org.sandev.basics.util.UIFormContext getFormContext(org.sandev.basics.util.UIRenderInput uiri, java.lang.String formName, org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormAdaptorCallback callback)
          CALLTHROUGH to our AbstractXHTMLFormAdaptor
protected  java.lang.String getFormModeString(org.sandev.basics.util.UIFormContext uifc)
          Returns collection, listing or editing depending on the display mode indicated by the uifc.
protected  java.lang.String getFormTitle(org.sandev.ui.sandmessages.Link link, org.sandev.basics.util.UIFormContext uifc)
          Return the title for this form.
 java.lang.String getHiddenFieldValue()
          CALLTHROUGH to our AbstractXHTMLFormAdaptor
 org.sandev.basics.util.InstanceClassEnumerator getInstanceClassEnumerator()
          CALLTHROUGH to AbstractXHTMLFormAdaptor.getInstanceClassEnumerator.
protected static java.lang.String getParam(java.util.Map params, java.lang.String key)
          CALLTHROUGH to AbstractXHTMLFormAdaptor.getParam.
 org.sandev.ui.util.SandTransformer getSandTrans()
          accessor for sandTrans
 org.sandev.ui.sandmessages.Screen getScreen(org.sandev.basics.util.UIRenderInput uiri, org.sandev.ui.sandmessages.SandUI ui, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user, org.sandev.basics.util.UserWorkLog uwl, java.util.Locale locale)
          Given a map of our current parameter names and values, reconstruct the Screen object and return it.
 org.sandev.basics.util.UIRenderInput getUIRenderInput()
          CALLTHROUGH to our AbstractXHTMLFormAdaptor
 org.sandev.basics.util.UIRenderOutputDirect getUIRenderOutputDirect()
          CALLTHROUGH to our AbstractXHTMLFormAdaptor
 org.sandev.basics.util.UIRenderOutputStream getUIRenderOutputStream()
          CALLTHROUGH to our AbstractXHTMLFormAdaptor
 org.sandev.basics.util.UIRenderOutputString getUIRenderOutputString()
          CALLTHROUGH to our AbstractXHTMLFormAdaptor
protected  void loadSpecifiedInstance(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user)
          If a particular instance was specified in the URL parameters, then initialize the current form with it.
protected  void loadUIAction(org.sandev.basics.util.UIFormContext uifc, org.sandev.basics.util.UIRenderInput uiri, org.sandev.ui.sandmessages.Link link, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user, org.sandev.basics.util.UserWorkLog uwl)
          Figure out which custom user action has been chosen.
protected  boolean loadUIActionWork(org.sandev.basics.util.UIFormContext uifc, java.util.Map params, org.sandev.ui.sandmessages.Action[] actions, java.lang.String buttonKey)
          Workhorse method for loadUIAction.
 org.sandev.basics.structs.SandInstanceMessage newInstanceMessage(java.lang.String classtype)
          CALLTHROUGH to AbstractXHTMLFormAdaptor.newInstanceMessage.
protected  org.sandev.ui.sandmessages.Screen reconstructScreen(org.sandev.basics.util.UIRenderInput uiri, org.sandev.ui.sandmessages.SandUI ui, org.sandev.ui.sandmessages.Screen workscreen, org.sandev.basics.util.UIFormOwner owner, org.sandev.basics.util.AuthUser user, org.sandev.basics.util.UserWorkLog uwl, java.util.Locale locale)
          Reconstruct the specified screen from SandUI and the input parameters.
 void setActionSupportMap(boolean[] actionFlags)
          CALLTHROUGH to our AbstractXHTMLFormAdaptor
 void setActionTextMap(java.lang.String[] actionNames)
          CALLTHROUGH to our AbstractXHTMLFormAdaptor
 void setAllowEditReadOnly(boolean val)
          CALLTHROUGH to our AbstractXHTMLFormAdaptor
 void setFormAdaptor(AbstractXHTMLFormAdaptor val)
          mutator for formAdaptor
 void setHiddenFieldValue(java.lang.String val)
          CALLTHROUGH to our AbstractXHTMLFormAdaptor
 void setSandTrans(org.sandev.ui.util.SandTransformer st)
          mutator for sandTrans
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SCREENPARAM

public static final java.lang.String SCREENPARAM
The parameter holding the name of the screen we are on.

See Also:
Constant Field Values

LINKACTIONPREFIX

public static final java.lang.String LINKACTIONPREFIX
A prefix used to identiy all interactive actions defined for a link.

See Also:
Constant Field Values

formAdaptor

protected AbstractXHTMLFormAdaptor formAdaptor
We need an AbstractXHTMLFormAdaptor derived class to do our work. This must be set by the caller before doing any work.

All use of the formAdaptor within this class is via the accessor method.


sandTrans

protected org.sandev.ui.util.SandTransformer sandTrans
We need a SandTransformer to do our work. This must be set before any calls for processing.

Constructor Detail

XHTMLScreenAdaptor

public XHTMLScreenAdaptor()
Default ctor does nothing

Method Detail

getFormAdaptor

public AbstractXHTMLFormAdaptor getFormAdaptor()
accessor for formAdaptor


setFormAdaptor

public void setFormAdaptor(AbstractXHTMLFormAdaptor val)
mutator for formAdaptor


getUIRenderInput

public org.sandev.basics.util.UIRenderInput getUIRenderInput()
CALLTHROUGH to our AbstractXHTMLFormAdaptor

Specified by:
getUIRenderInput in interface org.sandev.basics.util.UIFormAdaptor

getUIRenderOutputDirect

public org.sandev.basics.util.UIRenderOutputDirect getUIRenderOutputDirect()
CALLTHROUGH to our AbstractXHTMLFormAdaptor

Specified by:
getUIRenderOutputDirect in interface org.sandev.basics.util.UIFormAdaptor

getUIRenderOutputStream

public org.sandev.basics.util.UIRenderOutputStream getUIRenderOutputStream()
CALLTHROUGH to our AbstractXHTMLFormAdaptor

Specified by:
getUIRenderOutputStream in interface org.sandev.basics.util.UIFormAdaptor

getUIRenderOutputString

public org.sandev.basics.util.UIRenderOutputString getUIRenderOutputString()
CALLTHROUGH to our AbstractXHTMLFormAdaptor

Specified by:
getUIRenderOutputString in interface org.sandev.basics.util.UIFormAdaptor

getFormContext

public org.sandev.basics.util.UIFormContext getFormContext(org.sandev.basics.util.UIRenderInput uiri,
                                                           java.lang.String formName,
                                                           org.sandev.basics.util.UIFormContext uifc,
                                                           org.sandev.basics.util.UIFormAdaptorCallback callback)
                                                    throws org.sandev.basics.util.UIFormAdaptorException
CALLTHROUGH to our AbstractXHTMLFormAdaptor

Specified by:
getFormContext in interface org.sandev.basics.util.UIFormAdaptor
Throws:
org.sandev.basics.util.UIFormAdaptorException

dumpFormOutput

public void dumpFormOutput(org.sandev.basics.util.UIRenderOutput uiro,
                           java.lang.String formName,
                           org.sandev.basics.util.UIFormContext uifc,
                           org.sandev.basics.util.UIFormAdaptorCallback callback,
                           org.sandev.basics.util.AuthUser user,
                           org.sandev.basics.util.AuthFilter filter)
                    throws org.sandev.basics.util.UIFormAdaptorException
CALLTHROUGH to our AbstractXHTMLFormAdaptor

Specified by:
dumpFormOutput in interface org.sandev.basics.util.UIFormAdaptor
Throws:
org.sandev.basics.util.UIFormAdaptorException

dumpPageHeader

public void dumpPageHeader(org.sandev.basics.util.UIRenderOutput uiro,
                           java.lang.String title)
                    throws org.sandev.basics.util.UIFormAdaptorException
CALLTHROUGH to our AbstractXHTMLFormAdaptor

Specified by:
dumpPageHeader in interface org.sandev.basics.util.UIFormAdaptor
Throws:
org.sandev.basics.util.UIFormAdaptorException

dumpPageFooter

public void dumpPageFooter(org.sandev.basics.util.UIRenderOutput uiro,
                           java.lang.String closure)
                    throws org.sandev.basics.util.UIFormAdaptorException
CALLTHROUGH to our AbstractXHTMLFormAdaptor

Specified by:
dumpPageFooter in interface org.sandev.basics.util.UIFormAdaptor
Throws:
org.sandev.basics.util.UIFormAdaptorException

setActionTextMap

public void setActionTextMap(java.lang.String[] actionNames)
                      throws org.sandev.basics.util.UIFormAdaptorException
CALLTHROUGH to our AbstractXHTMLFormAdaptor

Specified by:
setActionTextMap in interface org.sandev.basics.util.UIFormAdaptor
Throws:
org.sandev.basics.util.UIFormAdaptorException

getActionTextMap

public java.lang.String[] getActionTextMap()
CALLTHROUGH to our AbstractXHTMLFormAdaptor

Specified by:
getActionTextMap in interface org.sandev.basics.util.UIFormAdaptor

getDefaultActionTextMap

public java.lang.String[] getDefaultActionTextMap()
CALLTHROUGH to our AbstractXHTMLFormAdaptor

Specified by:
getDefaultActionTextMap in interface org.sandev.basics.util.UIFormAdaptor

setActionSupportMap

public void setActionSupportMap(boolean[] actionFlags)
                         throws org.sandev.basics.util.UIFormAdaptorException
CALLTHROUGH to our AbstractXHTMLFormAdaptor

Specified by:
setActionSupportMap in interface org.sandev.basics.util.UIFormAdaptor
Throws:
org.sandev.basics.util.UIFormAdaptorException

getActionSupportMap

public boolean[] getActionSupportMap()
CALLTHROUGH to our AbstractXHTMLFormAdaptor

Specified by:
getActionSupportMap in interface org.sandev.basics.util.UIFormAdaptor

getDefaultActionSupportMap

public boolean[] getDefaultActionSupportMap()
CALLTHROUGH to our AbstractXHTMLFormAdaptor

Specified by:
getDefaultActionSupportMap in interface org.sandev.basics.util.UIFormAdaptor

getHiddenFieldValue

public java.lang.String getHiddenFieldValue()
CALLTHROUGH to our AbstractXHTMLFormAdaptor

Specified by:
getHiddenFieldValue in interface org.sandev.basics.util.UIFormAdaptor

setHiddenFieldValue

public void setHiddenFieldValue(java.lang.String val)
CALLTHROUGH to our AbstractXHTMLFormAdaptor

Specified by:
setHiddenFieldValue in interface org.sandev.basics.util.UIFormAdaptor

allowEditReadOnly

public boolean allowEditReadOnly()
CALLTHROUGH to our AbstractXHTMLFormAdaptor

Specified by:
allowEditReadOnly in interface org.sandev.basics.util.UIFormAdaptor

setAllowEditReadOnly

public void setAllowEditReadOnly(boolean val)
CALLTHROUGH to our AbstractXHTMLFormAdaptor

Specified by:
setAllowEditReadOnly in interface org.sandev.basics.util.UIFormAdaptor

getParam

protected static java.lang.String getParam(java.util.Map params,
                                           java.lang.String key)
CALLTHROUGH to AbstractXHTMLFormAdaptor.getParam.


newInstanceMessage

public org.sandev.basics.structs.SandInstanceMessage newInstanceMessage(java.lang.String classtype)
                                                                 throws org.sandev.basics.util.UIFormAdaptorException
CALLTHROUGH to AbstractXHTMLFormAdaptor.newInstanceMessage.

Specified by:
newInstanceMessage in interface org.sandev.basics.util.UIFormAdaptor
Throws:
org.sandev.basics.util.UIFormAdaptorException

getInstanceClassEnumerator

public org.sandev.basics.util.InstanceClassEnumerator getInstanceClassEnumerator()
CALLTHROUGH to AbstractXHTMLFormAdaptor.getInstanceClassEnumerator.

Specified by:
getInstanceClassEnumerator in interface org.sandev.basics.util.UIFormAdaptor

getSandTrans

public org.sandev.ui.util.SandTransformer getSandTrans()
accessor for sandTrans


setSandTrans

public void setSandTrans(org.sandev.ui.util.SandTransformer st)
mutator for sandTrans


getScreen

public org.sandev.ui.sandmessages.Screen getScreen(org.sandev.basics.util.UIRenderInput uiri,
                                                   org.sandev.ui.sandmessages.SandUI ui,
                                                   org.sandev.basics.util.UIFormOwner owner,
                                                   org.sandev.basics.util.AuthUser user,
                                                   org.sandev.basics.util.UserWorkLog uwl,
                                                   java.util.Locale locale)
                                            throws org.sandev.ui.util.UIScreenAdaptorException
Given a map of our current parameter names and values, reconstruct the Screen object and return it. See the UIScreenAdaptor interface for a general description.

This method will:

  1. Check if a specific screen name has been specified as a SCREENPARAM and otherwise use the first defined entry point. Throw an exception if the screen can't be found (the template can transform the error into something friendly if desired, and the user can then go to the main page if that's what was intended).
  2. make a copy of the defined screen to use as a workspace
  3. call reconstructScreen to get the screen instance to return.

Specified by:
getScreen in interface org.sandev.ui.util.UIScreenAdaptor
Throws:
org.sandev.ui.util.UIScreenAdaptorException

dumpScreen

public void dumpScreen(org.sandev.basics.util.UIRenderOutput uiro,
                       org.sandev.ui.sandmessages.Screen screen,
                       org.sandev.ui.sandmessages.SandUI ui,
                       org.sandev.basics.util.UIFormOwner owner,
                       org.sandev.basics.util.AuthUser user,
                       org.sandev.basics.util.AuthFilter filter,
                       org.sandev.basics.util.UserWorkLog uwl,
                       java.util.Locale locale)
                throws org.sandev.ui.util.UIScreenAdaptorException
Given a output rendering context, render the given Screen for display. See the UIScreenAdaptor interface for details.

It is up to the caller to dump the pageHeader and pageFooter, since they may wish to insert additional information (such as login/logout links).

Since we will be reconstructing the screen by merging parameters with the SandUI definition, we don't need to write hidden parameters for invariant information.

Specified by:
dumpScreen in interface org.sandev.ui.util.UIScreenAdaptor
Throws:
org.sandev.ui.util.UIScreenAdaptorException

reconstructScreen

protected org.sandev.ui.sandmessages.Screen reconstructScreen(org.sandev.basics.util.UIRenderInput uiri,
                                                              org.sandev.ui.sandmessages.SandUI ui,
                                                              org.sandev.ui.sandmessages.Screen workscreen,
                                                              org.sandev.basics.util.UIFormOwner owner,
                                                              org.sandev.basics.util.AuthUser user,
                                                              org.sandev.basics.util.UserWorkLog uwl,
                                                              java.util.Locale locale)
                                                       throws org.sandev.ui.util.UIScreenAdaptorException
Reconstruct the specified screen from SandUI and the input parameters. If loadParams is false, then the input parameters are ignored and a copy of the original Screen is returned.

Throws:
org.sandev.ui.util.UIScreenAdaptorException

loadSpecifiedInstance

protected void loadSpecifiedInstance(org.sandev.basics.util.UIFormContext uifc,
                                     org.sandev.basics.util.UIFormOwner owner,
                                     org.sandev.basics.util.AuthUser user)
                              throws org.sandev.ui.util.UIScreenAdaptorException
If a particular instance was specified in the URL parameters, then initialize the current form with it. Also handles button params.

Throws:
org.sandev.ui.util.UIScreenAdaptorException

loadUIAction

protected void loadUIAction(org.sandev.basics.util.UIFormContext uifc,
                            org.sandev.basics.util.UIRenderInput uiri,
                            org.sandev.ui.sandmessages.Link link,
                            org.sandev.basics.util.UIFormOwner owner,
                            org.sandev.basics.util.AuthUser user,
                            org.sandev.basics.util.UserWorkLog uwl)
                     throws org.sandev.ui.util.UIScreenAdaptorException
Figure out which custom user action has been chosen. This method sets the action to CUSTOM and the outputText to the name of the action. If no custom action, then this method does nothing.

Throws:
org.sandev.ui.util.UIScreenAdaptorException

loadUIActionWork

protected boolean loadUIActionWork(org.sandev.basics.util.UIFormContext uifc,
                                   java.util.Map params,
                                   org.sandev.ui.sandmessages.Action[] actions,
                                   java.lang.String buttonKey)
                            throws org.sandev.ui.util.UIScreenAdaptorException
Workhorse method for loadUIAction. Returns true if a custom action was found, false otherwise.

Throws:
org.sandev.ui.util.UIScreenAdaptorException

actionActive

protected boolean actionActive(org.sandev.ui.sandmessages.Action action,
                               org.sandev.basics.util.UIFormContext uifc,
                               org.sandev.basics.util.UIFormOwner owner,
                               org.sandev.basics.util.AuthUser user)
                        throws org.sandev.ui.util.UIScreenAdaptorException
Return true if this action is active, false otherwise. This method checks authorization and owner logic.

Throws:
org.sandev.ui.util.UIScreenAdaptorException

dumpLocale

public void dumpLocale(java.io.PrintWriter out,
                       java.util.Locale locale)
                throws org.sandev.ui.util.UIScreenAdaptorException
Dump out the Locale information so it will be available for transform processing. This is a write-only operation. This method is also called directly by XHTMLSandUIServlet during login and error processing.

Throws:
org.sandev.ui.util.UIScreenAdaptorException

dumpGeneralInfo

public void dumpGeneralInfo(java.io.PrintWriter out,
                            org.sandev.basics.util.UIFormOwner owner)
Dump out other general information useful for display. This method is also called directly by XHTMLSandUIServlet during login and error processing.


dumpEntryPoints

protected void dumpEntryPoints(java.io.PrintWriter out,
                               java.lang.String prefix,
                               org.sandev.ui.sandmessages.SandUI ui,
                               org.sandev.basics.util.UIFormOwner owner,
                               org.sandev.basics.util.AuthUser user,
                               org.sandev.basics.util.AuthFilter filter,
                               org.sandev.basics.util.UIRenderOutput uiro,
                               org.sandev.basics.util.UserWorkLog uwl,
                               java.util.Locale locale)
                        throws org.sandev.ui.util.UIScreenAdaptorException,
                               org.sandev.basics.structs.SandException
Dump out a block of links to the top level entry points, for use in a nav bar or similar mechanism.

Throws:
org.sandev.ui.util.UIScreenAdaptorException
org.sandev.basics.structs.SandException

dumpLinks

protected void dumpLinks(java.io.PrintWriter out,
                         java.lang.String prefix,
                         org.sandev.ui.sandmessages.SandUI ui,
                         org.sandev.basics.util.UIFormOwner owner,
                         org.sandev.basics.util.AuthUser user,
                         org.sandev.basics.util.AuthFilter filter,
                         org.sandev.basics.util.UIRenderOutput uiro,
                         org.sandev.ui.sandmessages.Screen screen,
                         org.sandev.basics.util.UserWorkLog uwl,
                         java.util.Locale locale)
                  throws org.sandev.ui.util.UIScreenAdaptorException,
                         org.sandev.basics.structs.SandException
Dump the links for this screen.

Throws:
org.sandev.ui.util.UIScreenAdaptorException
org.sandev.basics.structs.SandException

dumpLink

protected boolean dumpLink(java.io.PrintWriter out,
                           java.lang.String prefix,
                           org.sandev.ui.sandmessages.Link link,
                           org.sandev.ui.sandmessages.SandUI ui,
                           org.sandev.basics.util.UIFormOwner owner,
                           org.sandev.basics.util.AuthUser user,
                           org.sandev.basics.util.AuthFilter filter,
                           org.sandev.basics.util.UIRenderOutput uiro,
                           org.sandev.basics.util.UserWorkLog uwl,
                           java.util.Locale locale)
                    throws org.sandev.ui.util.UIScreenAdaptorException,
                           org.sandev.basics.structs.SandException
Dump out a link. Since we will be reconstructing this using the same SandUI definition, we don't need to write out any constant information as hidden parameters.

Throws:
org.sandev.ui.util.UIScreenAdaptorException
org.sandev.basics.structs.SandException

dumpWireframeLink

protected void dumpWireframeLink(org.sandev.basics.util.UIRenderOutputString uiros,
                                 org.sandev.ui.sandmessages.Link link)
                          throws org.sandev.basics.util.UIFormAdaptorException
Dump out the wireframeText directly.

Throws:
org.sandev.basics.util.UIFormAdaptorException

dumpFormLink

protected void dumpFormLink(org.sandev.basics.util.UIRenderOutputString uiros,
                            java.lang.String prefix,
                            org.sandev.ui.sandmessages.Link link,
                            org.sandev.basics.util.UIFormContext uifc,
                            org.sandev.basics.util.UIFormOwner owner,
                            org.sandev.basics.util.AuthUser user,
                            org.sandev.basics.util.UserWorkLog uwl)
                     throws org.sandev.basics.structs.SandException
Write out the form with any action buttons required.

Throws:
org.sandev.basics.structs.SandException

getFormTitle

protected java.lang.String getFormTitle(org.sandev.ui.sandmessages.Link link,
                                        org.sandev.basics.util.UIFormContext uifc)
Return the title for this form.


getFormModeString

protected java.lang.String getFormModeString(org.sandev.basics.util.UIFormContext uifc)
Returns collection, listing or editing depending on the display mode indicated by the uifc.


dumpPlainLink

protected void dumpPlainLink(org.sandev.basics.util.UIRenderOutputString uiros,
                             java.lang.String prefix,
                             org.sandev.ui.sandmessages.Link link,
                             org.sandev.basics.util.UIFormContext uifc,
                             org.sandev.basics.util.UIFormOwner owner,
                             org.sandev.basics.util.AuthUser user,
                             org.sandev.basics.util.UserWorkLog uwl)
                      throws org.sandev.basics.structs.SandException
Write out the text or empty link with any action buttons required. The form construct is potentially unnecessary if there are no associated actions, but it's not worth a special case.

Throws:
org.sandev.basics.structs.SandException

doRenderActions

protected void doRenderActions(java.io.PrintWriter out,
                               java.lang.String prefix,
                               org.sandev.ui.sandmessages.Link link,
                               org.sandev.basics.util.UIFormContext uifc,
                               org.sandev.basics.util.UIFormOwner owner,
                               org.sandev.basics.util.AuthUser user,
                               org.sandev.basics.util.UserWorkLog uwl)
                        throws org.sandev.basics.structs.SandException
Walk the actions for this link and do what is needed.

Throws:
org.sandev.basics.structs.SandException

dumpMessageAsValue

protected void dumpMessageAsValue(java.io.PrintWriter out,
                                  java.lang.String prefix,
                                  org.sandev.basics.structs.SandInstanceMessage msg)
Dump out the given instance message as a single value.


dumpUserWorkLog

protected void dumpUserWorkLog(java.io.PrintWriter out,
                               org.sandev.basics.util.UserWorkLog uwl)
Dump out the UserWorkLog, if available and anything was written to it.


doRenderTabs

protected void doRenderTabs(java.io.PrintWriter out,
                            java.lang.String prefix,
                            org.sandev.ui.sandmessages.Link link,
                            org.sandev.basics.util.UIFormContext uifc,
                            org.sandev.basics.util.UIFormOwner owner,
                            org.sandev.basics.util.AuthUser user,
                            org.sandev.basics.util.UserWorkLog uwl)
                     throws org.sandev.basics.structs.SandException
Like doRenderActions but for tabs, which are always requests. We need to print out a separator break after the so that whatever gets rendered next starts on a fresh line.

Throws:
org.sandev.basics.structs.SandException

debug

protected void debug(java.lang.String text)
Write the given debug text to the log. Just calls System for now, use a Logger later.