jacquard 1.12.0 by The Web Engineering Factory and Toolworks

uk.co.weft.htform
Class DataMenuWidget

java.lang.Object
  extended byuk.co.weft.htform.ResourceConsumerImpl
      extended byuk.co.weft.domutil.NodeGeneratorImpl
          extended byuk.co.weft.htform.Widget
              extended byuk.co.weft.htform.MenuWidget
                  extended byuk.co.weft.htform.DataMenuWidget
All Implemented Interfaces:
java.lang.Cloneable, NodeGenerator, ResourceConsumer
Direct Known Subclasses:
OptionSensitiveHelpMenuWidget, SimpleDataMenuWidget

public class DataMenuWidget
extends MenuWidget

A menu widget taking options from a specified query against a specified database: Must be in an AuthenticatedForm. If you want a dynamic query, changing on a per service basis, construct that query in either the Form or WidgetSet postProcess method and cache it on the context by calling Form.setContextMenuQuery().

Version:
$Revision: 1.22.4.1 $ This revision: $Author: simon $
Author:
Simon Brooke
See Also:
Form.postProcess(Context), WidgetSet.postProcess(Context,Context), Form.setContextMenuQuery(Context, String, String)

Field Summary
protected  java.lang.String defaultq
          the default query I use to retrieve my values
protected  boolean showExtraCols
          do I show extra columns which are retrieved by my query? Normally I do, because normally the only reason to have extra columns is so I can show them
 
Fields inherited from class uk.co.weft.htform.MenuWidget
defaultSize, eltTag, unsetLabel, UNSETVALUEMAGICTOKEN
 
Fields inherited from class uk.co.weft.htform.Widget
ACTIONCSSCLASS, akprompt, attrs, CONTEXTATTRIBUTESSUFFIX, cssClass, DANGEROUSCSSCLASS, debug, DEFAULTTOKEN, dflt, form, generateAs, GENERATEASHTML, GENERATEASXFORM, GENERATEASXML, help, HELPTOKEN, immutable, ISIMMUTABLETOKEN, ISMANDATORYTOKEN, mandatory, MANDATORYCSSCLASS, maxVisibleSize, name, NAMETOKEN, OPTIONALCSSCLASS, PREVIOUSVALUESUFFIX, prompt, PROMPTTOKEN, size, SIZETOKEN, type, TYPETOKEN
 
Fields inherited from class uk.co.weft.domutil.NodeGeneratorImpl
namespaceURI
 
Fields inherited from class uk.co.weft.htform.ResourceConsumerImpl
resourceBundleName
 
Fields inherited from interface uk.co.weft.domutil.NodeGenerator
NAMESPACEURIMAGICTOKEN
 
Fields inherited from interface uk.co.weft.htform.ResourceConsumer
RESOURCEBUNDLEMAGICTOKEN
 
Constructor Summary
protected DataMenuWidget()
          If you use this constructor, you are very much on your own and are responsible for setting up all the things the Widget needs to operate yourself.
  DataMenuWidget(java.lang.String myname, java.lang.String myquery)
          minimum initialisation is I must have a name and a query
  DataMenuWidget(java.lang.String myname, java.lang.String myquery, boolean immutable)
          As above plus immutability.
  DataMenuWidget(java.lang.String myname, java.lang.String myquery, boolean immutable, boolean allowUnset)
          As above plus unset option
  DataMenuWidget(java.lang.String myname, java.lang.String myprompt, java.lang.String myquery)
          name, prompt and query is better
  DataMenuWidget(java.lang.String myname, java.lang.String myprompt, java.lang.String myquery, boolean immutable)
          As above plus immutability
  DataMenuWidget(java.lang.String myname, java.lang.String myprompt, java.lang.String myquery, boolean immutable, boolean allowUnset)
          As above plus unset option
  DataMenuWidget(java.lang.String myname, java.lang.String myprompt, java.lang.String myhelp, java.lang.String myquery)
          name, prompt, helptext and query is best
  DataMenuWidget(java.lang.String myname, java.lang.String myprompt, java.lang.String myhelp, java.lang.String myquery, boolean immutable)
          As above plus immutability
  DataMenuWidget(java.lang.String myname, java.lang.String myprompt, java.lang.String myhelp, java.lang.String myquery, boolean immutable, boolean allowUnset)
          As above plus unset option
 
Method Summary
 java.util.Vector getOptions(Context context)
          Query the database for my options.
 java.lang.String getQuery(Context context)
          Get the query to use in this context
 void setQuery(java.lang.String query)
          Set my default query to this.
 DataMenuWidget setShowExtraCols(boolean flag)
          Set my showExtraCols flag to this value
 
Methods inherited from class uk.co.weft.htform.MenuWidget
addOption, clone, generateInnerHTML, generateValue, getHeight, getTabPlaces, getWidth, layout, layoutValue, preProcess, scriptRequest, setDebug
 
Methods inherited from class uk.co.weft.htform.Widget
generate, generateAttributes, generateAttributes, generateHTML, generateHTMLPrompt, generateXML, getContextAttribute, getCssClass, getHelp, getName, getPrompt, getType, init, layout, layout, layout, layoutAttribute, layoutAttributes, makeReady, maybeLayout, maybeLayout, onloadRequest, onloadRequest, postProcess, scriptRequest, setAttribute, setContextAttribute, setCssClass, setDefault, setHelp, setImmutable, setMandatory, setMandatory, setName, setPrompt, setSize, setType
 
Methods inherited from class uk.co.weft.domutil.NodeGeneratorImpl
getNamespaceURI, setNamespaceURI
 
Methods inherited from class uk.co.weft.htform.ResourceConsumerImpl
getContextOrResource, getResource, getResourceOrContext, getResourceString, grs, grs
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface uk.co.weft.domutil.NodeGenerator
generate, getName, getNamespaceURI, init
 

Field Detail

defaultq

protected java.lang.String defaultq
the default query I use to retrieve my values


showExtraCols

protected boolean showExtraCols
do I show extra columns which are retrieved by my query? Normally I do, because normally the only reason to have extra columns is so I can show them

Constructor Detail

DataMenuWidget

public DataMenuWidget(java.lang.String myname,
                      java.lang.String myquery)
minimum initialisation is I must have a name and a query


DataMenuWidget

public DataMenuWidget(java.lang.String myname,
                      java.lang.String myprompt,
                      java.lang.String myquery)
name, prompt and query is better


DataMenuWidget

public DataMenuWidget(java.lang.String myname,
                      java.lang.String myprompt,
                      java.lang.String myhelp,
                      java.lang.String myquery)
name, prompt, helptext and query is best


DataMenuWidget

public DataMenuWidget(java.lang.String myname,
                      java.lang.String myquery,
                      boolean immutable)
As above plus immutability.


DataMenuWidget

public DataMenuWidget(java.lang.String myname,
                      java.lang.String myprompt,
                      java.lang.String myquery,
                      boolean immutable)
As above plus immutability


DataMenuWidget

public DataMenuWidget(java.lang.String myname,
                      java.lang.String myprompt,
                      java.lang.String myhelp,
                      java.lang.String myquery,
                      boolean immutable)
As above plus immutability


DataMenuWidget

public DataMenuWidget(java.lang.String myname,
                      java.lang.String myquery,
                      boolean immutable,
                      boolean allowUnset)
As above plus unset option


DataMenuWidget

public DataMenuWidget(java.lang.String myname,
                      java.lang.String myprompt,
                      java.lang.String myquery,
                      boolean immutable,
                      boolean allowUnset)
As above plus unset option


DataMenuWidget

public DataMenuWidget(java.lang.String myname,
                      java.lang.String myprompt,
                      java.lang.String myhelp,
                      java.lang.String myquery,
                      boolean immutable,
                      boolean allowUnset)
As above plus unset option


DataMenuWidget

protected DataMenuWidget()
If you use this constructor, you are very much on your own and are responsible for setting up all the things the Widget needs to operate yourself. Our recommendation is you don't.

Method Detail

getOptions

public java.util.Vector getOptions(Context context)
                            throws javax.servlet.ServletException
Query the database for my options. Use the query passed by this context if there is one, otherwise my default

Overrides:
getOptions in class MenuWidget
Throws:
javax.servlet.ServletException

setQuery

public void setQuery(java.lang.String query)
Set my default query to this. Should only be used during initialisation


getQuery

public java.lang.String getQuery(Context context)
Get the query to use in this context


setShowExtraCols

public DataMenuWidget setShowExtraCols(boolean flag)
Set my showExtraCols flag to this value


jacquard 1.12.0 by The Web Engineering Factory and Toolworks