com.plumtree.uiinfrastructure.expandablelist.growablelist
Class GrowableListModel

java.lang.Object
  extended by com.plumtree.uiinfrastructure.editor.EditorHelperModel
      extended by com.plumtree.uiinfrastructure.expandablelist.ExpListModel
          extended by com.plumtree.uiinfrastructure.expandablelist.growablelist.GrowableListModel
All Implemented Interfaces:
IManagedObject, IModel, IModelRO, IMVCObject, IGrowableListModelRO, IExpListModelRO, IPaginationModel, IPaginationModelRO
Direct Known Subclasses:
AddUserInfoPluginModel, IPAddressListModel, PickListValuesListModel, PrefsListPluginModel

public class GrowableListModel
extends ExpListModel
implements IGrowableListModelRO

This is the implementation of the Expandable List framework for the Growable Array. The Growable Array is a list of input texts. On add, a new input text populated with the default value will be added at the bottom of the list.

Author:
Julie Fournier

Field Summary
static int CLIENT_VALIDATION_TYPE_NON_EMPTY_STRING
          Client validation type: no String can be empty
static int CLIENT_VALIDATION_TYPE_NONE
          Client validation type: no validation
static int CLIENT_VALIDATION_TYPE_STRING_NO_SPACE
          Client validation type: Strings can't have spaces
static int CLIENT_VALIDATION_TYPE_VALID_URL
          Client validation type: each String must be a valid URL
static int EXPLIST_COL_MAX
          Number total of columns
static int EXPLIST_SORTEDARRAY_PROPID_INPUTTEXT
          Second column: the value of the input text.
protected  PTImageType m_imgRowIcon
          Icon to display on each row, just before the input text.
protected  int m_nClientValidationType
          Type of Client validation for the String in the input text of each row.
protected  java.lang.String m_sAlertMessage
          Message to display in the JavaScript validation.
protected  java.lang.String m_sDefaultValue
          This is used on add to populate the input text of the newly added row.
static java.lang.String STR_MVC_CLASS_NAME
          Class name for the activity space
 
Fields inherited from class com.plumtree.uiinfrastructure.expandablelist.ExpListModel
EXPLIST_COLUMN_COLSPAN, EXPLIST_COLUMN_ENABLESORT, EXPLIST_COLUMN_ID, EXPLIST_COLUMN_INVALID, EXPLIST_COLUMN_TITLE, EXPLIST_COLUMN_WIDTH, EXPLIST_SORTEDARRAY_PROPID_INDEX, m_arrExpListColInfo, m_bAddButtonDisabled, m_bCheckBoxesDisabled, m_bEnableMoveRowActions, m_bIsReadOnly, m_bWrapColumnHeaders, m_imgAddIcon, m_imgDeleteIcon, m_nListKey, m_nNextIndex, m_saData, m_sAddIconAlt, m_sAddLabel, m_sDeleteIconAlt, m_sDelRowConfirmMsg, m_sEmptyListAlert, m_sInstructions, m_sMainMessage, m_sSectionTitle, m_sTableInstructions, MAX_ROWS, MOVEACTION_DOWN, MOVEACTION_FIRST, MOVEACTION_LAST, MOVEACTION_UP, parent
 
Fields inherited from class com.plumtree.uiinfrastructure.editor.EditorHelperModel
m_asOwner
 
Constructor Summary
GrowableListModel()
           
 
Method Summary
 void AddRowsOnRepost(XPHashtable _htFormData)
          Adds one row at the bottom of the list and sets the following values: First column: m_nNextIndex Second column: m_sDefaultValue
 void AddRowsToList(java.lang.String[] _aData)
          Adds an array of new rows to the list.
 java.lang.Object Create()
          This method is used by the ASManager to return new instances of managed objects.
 java.lang.String GetAlertMessage()
          Returns the alert message to display in the JavaScript.
 int GetClientValidationType()
          Returns the client validation type.
 java.lang.String[] GetListValues()
          This method should ge used by the client to get back the array of values at the end of the Editor and store them.
 java.lang.String GetName()
          Returns the Class name.
 PTImageType GetRowIcon()
          Returns the icon to display on each row before the input text.
 void InitializeGrowableList(java.lang.String _sSectionTitle, java.lang.String _sSectionSubTitle, PTImageType _imgAddIcon, java.lang.String _sAddLabel, int _nListKey)
          Initializes the expandable list.
 void InitializeSortedArray(PTGrowableSortedArrayWrapper _saData)
          Initalizes the list (PTGrowableSortedArrayWrapper) with a column mapping and an array of sort.
protected  int SaveRow(PTGrowableSortedArrayWrapper _saData, int _nRowIndex, XPHashtable _htFormData)
          Saves the data on the row _nRowIndex.
 java.lang.String SetClientValidationType(int _nClientValidationType, java.lang.String _sAlertMessage)
          Sets the type of JavaScript validation for the rows.
 void SetDefaultValue(java.lang.String _sDefaultValue)
          Sets a new default value.
 void SetRowIcon(PTImageType _imgRowIcon)
          Sets the icon to display on each row before the input text.
 
Methods inherited from class com.plumtree.uiinfrastructure.expandablelist.ExpListModel
DeleteRowsOnRepost, DisableAddButton, DisableCheckBoxes, EnablePagination, GetAddIcon, GetAddIconAlt, GetAddLabel, GetAlertMessageForEmptyList, GetArrayOfObjToDelete, GetArrExpListColInfo, GetCurrentLowerObjectCount, GetCurrentUpperObjectCount, GetDeleteIcon, GetDeleteIconAlt, GetDelRowConfirmMsg, GetEmptyListInstructions, GetEmptyListMainMessage, GetEnableMoveRowActions, GetIsListReadOnly, GetItems, GetListKey, GetMainColumnSort, GetMainColumnSortDirection, GetModelStorageName, GetMoveAction, GetNumObjects, GetPaginationSize, GetReadOnlyItems, GetRowIndex, GetSectionTitle, GetTableInstructions, GetUniqueInt, GetUniqueString, GetUnusedProperties, GetWrapColumnHeaders, InitializeExpandableList, InitializeReadOnlyExpandableList, IsAddButtonDisabled, IsCheckBoxesDisabled, IsPaginationEnabled, ModifyRow, MoveDown, MoveFirst, MoveLast, MoveRow, MoveUp, ReverseCurrentSort, SaveSection, SetAddIcon, SetAddIconAlt, SetDeleteIcon, SetDeleteIconAlt, SetDelRowConfirmMsg, SetEmptyListMessages, SetEnableEmptyListClientValidation, SetEnableMoveRowActions, SetIsListReadOnly, SetListKey, SetPagination, SetSectionTitle, SetTableInstructions, SetWrapColumnHeaders, SortByColumn
 
Methods inherited from class com.plumtree.uiinfrastructure.editor.EditorHelperModel
CleanupAllData, CleanupTempData, Init
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.plumtree.uiinfrastructure.expandablelist.IExpListModelRO
GetAddIcon, GetAddIconAlt, GetAddLabel, GetAlertMessageForEmptyList, GetArrExpListColInfo, GetDeleteIcon, GetDeleteIconAlt, GetDelRowConfirmMsg, GetEmptyListInstructions, GetEmptyListMainMessage, GetEnableMoveRowActions, GetIsListReadOnly, GetListKey, GetMainColumnSort, GetMainColumnSortDirection, GetModelStorageName, GetReadOnlyItems, GetSectionTitle, GetTableInstructions, GetUniqueInt, GetUniqueString, GetUnusedProperties, GetWrapColumnHeaders, IsAddButtonDisabled, IsCheckBoxesDisabled, IsPaginationEnabled
 
Methods inherited from interface com.plumtree.uiinfrastructure.form.pagination.IPaginationModelRO
GetCurrentLowerObjectCount, GetCurrentUpperObjectCount, GetNumObjects, GetPaginationSize
 
Methods inherited from interface com.plumtree.uiinfrastructure.activityspace.IModel
CleanupAllData, CleanupTempData, Init
 

Field Detail

STR_MVC_CLASS_NAME

public static final java.lang.String STR_MVC_CLASS_NAME
Class name for the activity space

See Also:
Constant Field Values

EXPLIST_COL_MAX

public static final int EXPLIST_COL_MAX
Number total of columns

See Also:
Constant Field Values

EXPLIST_SORTEDARRAY_PROPID_INPUTTEXT

public static final int EXPLIST_SORTEDARRAY_PROPID_INPUTTEXT
Second column: the value of the input text.

See Also:
Constant Field Values

CLIENT_VALIDATION_TYPE_NONE

public static final int CLIENT_VALIDATION_TYPE_NONE
Client validation type: no validation

See Also:
Constant Field Values

CLIENT_VALIDATION_TYPE_NON_EMPTY_STRING

public static final int CLIENT_VALIDATION_TYPE_NON_EMPTY_STRING
Client validation type: no String can be empty

See Also:
Constant Field Values

CLIENT_VALIDATION_TYPE_STRING_NO_SPACE

public static final int CLIENT_VALIDATION_TYPE_STRING_NO_SPACE
Client validation type: Strings can't have spaces

See Also:
Constant Field Values

CLIENT_VALIDATION_TYPE_VALID_URL

public static final int CLIENT_VALIDATION_TYPE_VALID_URL
Client validation type: each String must be a valid URL

See Also:
Constant Field Values

m_imgRowIcon

protected PTImageType m_imgRowIcon
Icon to display on each row, just before the input text.


m_sAlertMessage

protected java.lang.String m_sAlertMessage
Message to display in the JavaScript validation.


m_sDefaultValue

protected java.lang.String m_sDefaultValue
This is used on add to populate the input text of the newly added row.


m_nClientValidationType

protected int m_nClientValidationType
Type of Client validation for the String in the input text of each row.

Constructor Detail

GrowableListModel

public GrowableListModel()
Method Detail

AddRowsOnRepost

public void AddRowsOnRepost(XPHashtable _htFormData)
Adds one row at the bottom of the list and sets the following values: First column: m_nNextIndex Second column: m_sDefaultValue

Specified by:
AddRowsOnRepost in class ExpListModel
Parameters:
_htFormData - Form data

AddRowsToList

public void AddRowsToList(java.lang.String[] _aData)
Adds an array of new rows to the list.

Parameters:
_aData -

Create

public java.lang.Object Create()
Description copied from class: EditorHelperModel
This method is used by the ASManager to return new instances of managed objects.

Specified by:
Create in interface IManagedObject
Specified by:
Create in class EditorHelperModel
Returns:
A new instance of the managed class (i.e. return new Foo();)
See Also:
IManagedObject.Create()

GetAlertMessage

public java.lang.String GetAlertMessage()
Returns the alert message to display in the JavaScript.

Specified by:
GetAlertMessage in interface IGrowableListModelRO
Returns:
String
See Also:
com.plumtree.uiinfrastructure.expandablelist.GrowableListModel#GetAlertMessage()

GetClientValidationType

public int GetClientValidationType()
Returns the client validation type.

Specified by:
GetClientValidationType in interface IGrowableListModelRO
Returns:
int
See Also:
com.plumtree.uiinfrastructure.expandablelist.GrowableListModel#GetClientValidationType()

GetListValues

public java.lang.String[] GetListValues()
This method should ge used by the client to get back the array of values at the end of the Editor and store them.

Returns:
String[]

GetName

public java.lang.String GetName()
Returns the Class name.

Specified by:
GetName in interface IMVCObject
Specified by:
GetName in class EditorHelperModel
Returns:
String

GetRowIcon

public PTImageType GetRowIcon()
Returns the icon to display on each row before the input text. If the value is null, no icon is displayed.

Specified by:
GetRowIcon in interface IGrowableListModelRO
Returns:
PTImageType
See Also:
com.plumtree.uiinfrastructure.expandablelist.GrowableListModel#GetRowIcon()

InitializeGrowableList

public void InitializeGrowableList(java.lang.String _sSectionTitle,
                                   java.lang.String _sSectionSubTitle,
                                   PTImageType _imgAddIcon,
                                   java.lang.String _sAddLabel,
                                   int _nListKey)
Initializes the expandable list.

Parameters:
_sSectionTitle - Main title.
_sSectionSubTitle - Sub title
_imgAddIcon - Icon for the add action.
_sAddLabel - Text to display next to the add icon.
_nListKey - In case you have multiple Expandable Lists on the same DP, they should have a different key (otherwise, just set it to 1).

InitializeSortedArray

public void InitializeSortedArray(PTGrowableSortedArrayWrapper _saData)
Initalizes the list (PTGrowableSortedArrayWrapper) with a column mapping and an array of sort. The growable array will always be sorted by the 1st column ascending.

Specified by:
InitializeSortedArray in class ExpListModel
Parameters:
_saData -

SetClientValidationType

public java.lang.String SetClientValidationType(int _nClientValidationType,
                                                java.lang.String _sAlertMessage)
Sets the type of JavaScript validation for the rows. The type should be a CLIENT_VALIDATION_TYPE_ constant.

Parameters:
_nClientValidationType -
_sAlertMessage -
Returns:
String This is the JavaScript function name that should be added to the Editor validation functions.

SetDefaultValue

public void SetDefaultValue(java.lang.String _sDefaultValue)
Sets a new default value. By default this is an empty string. This value is used on add to populate the input text of the newly added row.

Parameters:
_sDefaultValue - New value

SetRowIcon

public void SetRowIcon(PTImageType _imgRowIcon)
Sets the icon to display on each row before the input text. By default, no icon is displayed.

Parameters:
_imgRowIcon -

SaveRow

protected int SaveRow(PTGrowableSortedArrayWrapper _saData,
                      int _nRowIndex,
                      XPHashtable _htFormData)
Saves the data on the row _nRowIndex.

Specified by:
SaveRow in class ExpListModel
Parameters:
_saData - List to update the data on row _nRowIndex
_nRowIndex - Index of the row to save.
_htFormData - Data posted by the form.
Returns:
int Status for server side validation.



Copyright © 2002,2003,2004,2005 Plumtree Software, Inc., All Rights Reserved.