com.bowstreet.webapp
Interface PageDataElement

All Superinterfaces:
DataDefinitionElement
All Known Subinterfaces:
PageDataContainer, PageDataLeaf
All Known Implementing Classes:
Container, Element, Leaf, PageReference

public interface PageDataElement
extends DataDefinitionElement

PageDataElement.java

Author:
szagieboylo Copyright (c) 2004 Bowstreet, Inc. Interface for PageDataElement. The PageData hierarchy represents the PageAutomation data as it is assigned to a page. A Container will have a list of children. A Leaf will never have children.

Field Summary
 
Fields inherited from interface com.bowstreet.webapp.DataDefinitionElement
DISPLAY_AUTO, DISPLAY_HORIZONTAL, DISPLAY_NO_VISIBLE, DISPLAY_NONE, DISPLAY_VERTICAL, KEY_ACTIONTYPE, KEY_ALWAYS_ADD_VALIDATION_CODE, KEY_APPEND_BAD_VALUE_TO_ERROR_MSG, KEY_ATTRIBUTES, KEY_COLUMN_SUMMARY, KEY_COLUMN_SUMMARY_ARGUMENT, KEY_COLUMN_SUMMARY_COLUMN1, KEY_COLUMN_SUMMARY_COLUMN2, KEY_COLUMN_SUMMARY_NODE, KEY_COLUMN_SUMMARY_OPERATION, KEY_COLUMN_SUMMARY_STANDARD_VARIABLE, KEY_COLUMN_SUMMARY_TEXTAFTER, KEY_COLUMN_SUMMARY_TEXTBEFORE, KEY_COLUMNALIGNMENT, KEY_COLUMNWIDTH, KEY_CREATE_ROW_METHOD, KEY_CREATE_ROW_METHODS, KEY_CUSTOMHIDELOCATION, KEY_DATA_SOURCE_MANAGER, KEY_DELETE_METHOD, KEY_DELETE_METHOD_TYPE, KEY_EMPTYDATAACTION, KEY_EMPTYDATAMESSAGE, KEY_EMPTYDATAMESSAGE_NAMEDLOCATION, KEY_EMPTYDATAMESSAGE_NODE, KEY_ERROR_MESSAGE_OVERRIDE, KEY_ESCAPEOUTPUTTEXT, KEY_FIELD_MERGE_DEFINITION, KEY_GENELEMENT, KEY_GENERATELABELS, KEY_HANDLEEXISTING, KEY_HAS_BEEN_RDD_PROCESSED, KEY_INFERCONTROLTYPE, KEY_IS_DATA_TRANSPARENT_CONTAINER, KEY_IS_POST_GENERATED_ELEMENT, KEY_IS_VISUALLY_TRANSPARENT_CONTAINER, KEY_ISMODELACTION, KEY_KEY_FIELD, KEY_LABELCLASS_ERROR, KEY_LABELCLASS_NOERROR, KEY_LABELTRANSLATETABLE, KEY_LABELTRANSLATEVARIABLE, KEY_LAYOUT_GRID, KEY_LOOKUP_TABLE, KEY_MODIFIERSLIST_DATAENTRY, KEY_MODIFIERSLIST_DISPLAYONLY, KEY_NO_ASSIGN_IF_VALIDATION_ERROR, KEY_ORIGINAL_DATASOURCE, KEY_PAGE_GENELEMENT, KEY_PUT_ASSIGN_IN_TRY_CATCH, KEY_RADIO_GROUP_STYLE_CLASS, KEY_RENDEROUTERPAGE, KEY_REQUIREDPROMPT, KEY_REQUIREDPROMPTPLACEMENT, KEY_RESOURCE_KEY_PREFIX, KEY_SELECT_OPTIONS, KEY_SEPARATOR, KEY_SPLIT_CHILDREN_INTO_COLUMNS, KEY_TRANSLATE_HTML_LABELS, KEY_UNIQUE_ID_LEVEL, KEY_USINGCHECKBOXES, KEY_VALIDATIONERRORPLACEMENT, KEY_VARIABLENAME, TYPE_ANYTYPE, TYPE_BOOLEAN, TYPE_BYTE, TYPE_DATE, TYPE_DATETIME, TYPE_DECIMAL, TYPE_DOUBLE, TYPE_FLOATINGPOINT, TYPE_INT, TYPE_INTEGER, TYPE_LONG, TYPE_NEGINT, TYPE_NONNEGINT, TYPE_NONPOSINT, TYPE_POSINT, TYPE_SHORT, TYPE_STRING, TYPE_TIME
 
Method Summary
 PageDataElement findPDChild(java.lang.String name)
          Search through the existing immediate children for one with the passed-in name
 java.lang.String getAppliedDataSourceString()
          This is also constructed by the DataSourceManager (a pluggable interface) WebAppDataSourceManager will make ${Variables/Foo/Bar} JSFDataSourceManager will make ${Foo.Bar}
 java.lang.String getDataSourceString()
          Unless this node has a DataSourceOverride, then the DataSourceString is constructed by the DataSourceManager.
 IXml getLabelNode()
           
 IXml getNode()
           
 Page getPage()
          get the Page that this is part of
 PageDataContainer getPDParent()
          This gets the same result that getDDParent, but you don't have to cast it if you need it in the Page Domain.
 boolean hasInputFields()
           
 boolean hasValidatedInputFields()
           
 boolean isMatchedToPage()
          Returns true if this element (or all of its children) are already matched to the page and will not need any HTML generation
 void setDataSourceOverride(java.lang.String s)
          You can set the dataSourceOverride to completely control where this node will get its data.
 void setLabelNode(IXml n)
          set the node for this element's Label
 void setNode(IXml n)
          Set the node on which you want this element to operate.
 
Methods inherited from interface com.bowstreet.webapp.DataDefinitionElement
bestReadableName, findDDChild, getBooleanProperty, getBuilderCall, getDataSourceExtension, getDDParent, getDescription, getDisplayMode, getIntProperty, getIsRepeated, getIsRequired, getLabel, getName, getProperty, getShortLabel, getStringProperty, getType, getXmlProperty, putBothProperties, putLocalProperty, putProperty, setBuilderCall, setDataSourceExtension, setDescription, setDisplayMode, setIsRepeated, setIsRequired, setLabel, setShortLabel, setType
 

Method Detail

findPDChild

PageDataElement findPDChild(java.lang.String name)
Search through the existing immediate children for one with the passed-in name

Parameters:
name -
Returns:
The child with that name, or null

getAppliedDataSourceString

java.lang.String getAppliedDataSourceString()
This is also constructed by the DataSourceManager (a pluggable interface) WebAppDataSourceManager will make ${Variables/Foo/Bar} JSFDataSourceManager will make ${Foo.Bar}

Returns:
the complete string for accessing this data element

getDataSourceString

java.lang.String getDataSourceString()
Unless this node has a DataSourceOverride, then the DataSourceString is constructed by the DataSourceManager. WebAppDataSourceManager will make Variables/Foo/Bar JSFDataSourceManager will make Foo.Bar

Returns:
The string for accessing this data element, minus the wrapper

getLabelNode

IXml getLabelNode()
Returns:
IXml node where this element's Label was created.

getNode

IXml getNode()
Returns:
IXml node on the page on which this element will operate.

getPage

Page getPage()
get the Page that this is part of

Returns:
The Page that this element sits on

getPDParent

PageDataContainer getPDParent()
This gets the same result that getDDParent, but you don't have to cast it if you need it in the Page Domain.

Returns:
This node's immediate parent, as a PageDataContainer

hasInputFields

boolean hasInputFields()
Returns:
true if this node is or contains any input fields

hasValidatedInputFields

boolean hasValidatedInputFields()
Returns:
true if this node is or contains any input fields that are required or have other validation

isMatchedToPage

boolean isMatchedToPage()
Returns true if this element (or all of its children) are already matched to the page and will not need any HTML generation

Returns:
true if this element (or all its children) are already matched to the page

setDataSourceOverride

void setDataSourceOverride(java.lang.String s)
You can set the dataSourceOverride to completely control where this node will get its data. This should be an indirect-type value, but without the ${..} For example, Variables/Foo/Bar or Java/((MyClass)webAppAccess.getVariables("Foo")).myMethod() If this node has children (is a Container), and the children do not have a dataSourceOverride, then they might be appending slash and their dataSourceExtension to this string before wrapping in ${..}.

Parameters:
s - indirect-type value without the ${..}, but with leading "Variables/" or "Java/" or whatever

setLabelNode

void setLabelNode(IXml n)
set the node for this element's Label

Parameters:
n - node for the label

setNode

void setNode(IXml n)
Set the node on which you want this element to operate. Note that an element that has a node before generateNode() will NOT generate label, validationNode, etc.

Parameters:
n - The node on which you want this element to operate.


Copyright © 2009 IBM. All Rights Reserved.