com.jFormTK
Class JFormInfo

java.lang.Object
  extended by com.jFormTK.JFormInfo
All Implemented Interfaces:
JConstants

public class JFormInfo
extends java.lang.Object
implements JConstants

        This Class is designed as a holder of information about a 'jFormTK' JFormForm'
        Sub-Class, i.e. an Application Unique Form...

        There is an instance of this Class for each JFormForm Sub-Class in an Application.
        The instance is created  by the 'JFormForm' class Constructor as each Application
        Form is established in the AppForms Class...

        The following parameters are maintained by this class for each 'jFormTK' based
        Application Form:
        -       title:                  Application Form Title used to annotate the 'jFormTK' Show Panel
                                                and     various user messages.
        -       nCols:                  Number of Display Columns.
        -       nRows:                  Number of Display Rows.
        -       colWidth:               The Width, in pixels, of each Display Column.
        -       rowHeight:              The Height, in pixels, of each Display Row.
                        NOTE:
                                                The colWidth and rowHeight are calculated at load time as a
                                                function of the Form's  Row, Column and window size parameters.
        -       dateCreated:    The Date [and Time] that the first save of this Data Entry Form
                                                was made.
        -       dateModified:   The last Date [and Time] this Form was saved to the
                                                storage device. 
        -       revertFileDate: The Date [and Time] of the 'Revert' File. 
        -       isComplete              An 'int' that indicates the number of "required fields" that still
                                                contain the 'JFormTKDB.requiredFieldText' value, i.e. the Required
                                                Fields that have NOT been given specific values by the 'jFormTK'
                                                Application End User...
        -       infoText:               The text that is presented to the end user when they select
                                                the "Info" button for this Data Entry Form...
        -       notePad:                The current contents of the 'NotePad" for this Form.
        -       notePadActive:  A Flag to indicate that the Application user has made entries to
                                                the "NotePad" area.
        -       leftJustify:    A Flag to specify that JFormField's shall be Left Justified on
                                                the "Associated" 'JFormForm' display. If this flag is set to
                                                'false', the 'JFormField' will be "Centered"...
        -       savedLoadState: the 'JFormState' Load State char at the time  the 'JFormForm'
                                                was last saved.
        The 'eCrypt' Parameters:
        -       ePass                   the password [String] to be used to Encrypt / Decrypt 'JFormField'
                                                value text iff the 'JFormField.eCrypt' flag is true...
        -       salt                    the salt [byte[8]] to be used to Encrypt / Decrypt 'JFormField'
                                                value text iff the 'JFormField.eCrypt' flag is true...
        -       iterationCount  the Iteration Count to be used  to Encrypt / Decrypt 'JFormField'
                                                value text iff the 'JFormField.eCrypt' flag is true...
        NOTE:
        For security reasons the above 'eCrypt' parameters are NOT saved to the
        'jFormTK' Application Storage Device [e.g. HDD, Derby Table, etc.] when a
        'JFormForm' Sub-Class is saved OR the 'jFormTK' Application process is
        terminated.
        Whenever a  'JFormForm' Sub-Class' is initially loaded during an execution,
        the 'eCrypt' parameters are calculated via the 'JCryptography.makeECrypt' method.
        The 'eCrypt' parameters are saved here after the 'jFormTK' Application' Authentication
        process has     occurred. 
        

Version:
1.00, 16 Oct 1997
Author:
Jim Crowell
Professional Computer Solutions [PCS]
URL: http://jFormTK.com/
E-Mail: JimCrowell@EMail.com

Copyright (c) 2008 by Professional Computer Solutions [PCS]
All Rights Reserved

Field Summary
(package private)  boolean notePadActive
           
(package private)  char savedLoadState
           
 
Fields inherited from interface com.jFormTK.JConstants
__, _AB, _AB_, _AField, _B, _BField, _CField, _CIField, _DField, _EU_, _H, _HEIGHT, _HEIGHT_INV, _HField, _I, _IField, _LField, _MField, _NField, _NotRequired, _PField, _PIField, _QField, _Required, _RField, _TAField, _TField, _WIDTH, _WIDTH_INV, _XField, AB, APP_TRACE_FOCUS, APP_TRACE_GET, APP_TRACE_SET, B_, BAR, BAR_, BB, BH, BI, BREAKPOINT_FOCUS, BREAKPOINT_GET, BREAKPOINT_SET, BVB, C_QUOTE, CLOSE, CLOSE_BRACKET, COLORS_DELIMITER, COMMA, COMMA_, D_ELEMENT, D_ELEMENT_N, D_ELEMENT_N1, D_ELEMENT_N2, D_ELEMENT_N3, D_FIELDS, D_FIELDS_N, D_FIELDS_N1, D_FIELDS_N2, D_FIELDS_N3, D_ITEMS, DASH, DOT, EOL, EOP, EOS, FIELD_TRACE_FOCUS, FIELD_TRACE_GET, FIELD_TRACE_SET, FONT_DELIMITER, H_, HB, HH, HI, I_, IB, IH, II, JLAF_DELIMITER, LF, LISTBRACKET, NO, OPEN, OPEN_BRACKET, pCheckboxGroup, QUOTE, SPACE_, TAB, YES
 
Constructor Summary
JFormInfo(JFormForm form)
           Constructor.
 
Method Summary
 void addGroupControls(java.lang.String groupName, int numberOfFields, int numberOfRows, int groupRowHeight, java.lang.String from)
           Add a new set of Group Controls to the GroupControls Vector...
 void addGroupControls(java.lang.String groupName, int numberOfFields, int numberOfRows, java.lang.String from)
           Add a new set of Group Controls to the GroupControls Vector...
 void addHighliteControls(java.lang.String setName, JFormFieldLAFS lafs, java.lang.String range, java.lang.String control, java.lang.String exitFlowControl, java.lang.String exitProcessingControl, java.lang.String from)
           Add a new set of Highlite Controls to the 'highliteControls' Vector...
static void decrementGroupControlsSets(java.lang.String groupName)
           Decrement the Number of 'Sets' in the specified Group in the GroupControls Vector...
 java.lang.String displayECrypt(java.lang.String formID)
           
 java.lang.String displayGroupControls()
           Construct a String that displays the current content of the "Group Controls' Vector...
 java.lang.String displayHighliteControls(java.lang.String from)
           Construct a String that displays the current content of the "Highlite Controls' Vector...
 void editHighliteControls(java.lang.String setName, JFormFieldLAFS lafs, java.lang.String range, java.lang.String control, java.lang.String exitFlowControl, java.lang.String exitProcessingControl)
           Edit the indicated 'hightiteControls' Set given the following rules: 1) If the JFormFieldLAFS parameter is NOT null, Then edit the 'hightiteControls' Vector element...
static int findGroupName(java.lang.String groupName)
           Return an index into the 'GroupControls' Vector for the given Group Name [GroupName]...
 java.lang.String getBuilt_In_TestTrace()
          Get Built_In_TestTrace String...
 java.lang.String getBuilt_In_TestTraceString()
           Build a multi-line [one line for each record] "Display String" from the current *this* 'Built_In_TestTrace' String...
 int getColWidth()
           
 java.util.Vector getControlButtonControls()
           
 java.lang.String getControlButtonControlsString()
           Build and return a String that has the current Control Button Flags concatenated with the jFormTKDB items delimiter...
 java.lang.String getDateCreated()
           
 java.lang.String getDateModified()
           
 java.lang.String getEPass()
           
static java.util.Vector getGroupControls()
           
 int[] getGroupControls(java.lang.String inGroupName)
           Method to return a 'int' Array of the Group Controls for a given "Group Name".
 java.lang.String getGroupControlsString()
           Build and return a String that has the current Group Controls Vector Elements concatenated with the jFormTKDB items Delimiter...
 int getGroupNumberOfFields(java.lang.String groupName)
           
 int getGroupNumberOfRows(java.lang.String groupName)
           
 int getGroupNumberOfSets(java.lang.String groupName)
           
 int getGroupPanelRowHeight(java.lang.String groupName)
           Compute a Group Panel Row Height.
 java.util.Vector getHighliteControls()
           
 int getHighliteControlsSetNameIndex(java.lang.String setName)
          Get the 'highliteControls' Vector element index for the given Set Name [setName]...
 java.lang.String getHighliteControlsString()
           Build and return a String that has the current Highlite Controls Vector Elements concatenated with the jFormTKDB items Delimiter...
 int getHighliteNumberOfSets()
           Return the Number of Highlite Sets...
 java.util.Vector getHighliteSet(java.lang.String setName)
           Construct and return a Vector that contains the 'highliteControls' for the specifiec "Highlite Set" Name [setName]...
 java.lang.Object[] getHighliteSetControls(java.lang.String inSetName)
           Method to return an 'Object' Array of the Highlite Controls for a given "Set Name".
 java.lang.String[] getHighliteSetNames()
           Construct and return a String arrof of the current 'highliteControl' Vector Sets...
 java.lang.String getInfoText()
           
 int getisComplete()
           
 boolean getIsGroup()
           Return a boolean Flag to indicate if the "Host" JFormForm Sub-Class has any Groups.
 int getIterationCount()
           
 JFormForm getJFormForm()
           
 java.lang.String getLastActiveJFormFieldID()
           Get the ID of the last Active 'JFormField' added to this 'JFormForm' Sub-Class.
 int getNCols()
          Get the Number of Columns for the Host 'JFormForm' Sub-Class...
 java.lang.String getNotePad()
           
 boolean getNotePadActive()
           
 int getNRows()
          Get the Number of Rowss for the Host 'JFormForm' Sub-Class...
 java.util.Vector getQuickEdits()
          Get a 'reference' to this 'JFormForm' Sub-Class 'QuickEdits' Vector.
 java.lang.String getQuickEditsString()
           Build and return a String that has the current Quick Edit Vector Elements concatenated with the JFormTKDB.itemsDelimiter...
 java.lang.String getRevertFileDate()
           
 int getRowHeight()
           
 byte[] getSalt()
           
 char getSavedLoadState()
           
 java.lang.String getTitle()
           
static void incrementGroupControlsSets(java.lang.String groupName)
           Increment the Number of 'Sets' in the specified Group in the GroupControls Vector...
 boolean isHighlite()
           Return a boolean Flag to indicate if the "Host" JFormForm Sub-Class has any Highlited Areas.
 boolean isHighliteFocusTrail()
           
 boolean removeHighliteSet(java.lang.String setName)
           Remove the given Set from the 'highliteControls' Vector and refresh the 'JFormField' elements that were previously highlited......
 void removeHighliteSet(java.lang.String set, java.lang.String from)
           Remove the given Set from the 'highliteControls' Vector...
 void setBuilt_In_TestTrace(java.lang.String s)
           Set 'built_In_TestTrace' from given String[s]...
 void setColWidth(int newColWidth)
           Set the 'JFormInfo.colWidth' parameter...
 void setControlButtonControls(java.lang.String savedControlButtonControls)
           Set the Control Buttons Vector [controlButtonControls] as a function of the given 'savedControlButtonControls' String...
 void setControlButtonControls(java.util.Vector v)
           Set the Control Button Flags Vector of the 1FormFrame from a Specified Vector [v]...
 void setDateModified(java.lang.String newDate)
          Set the JFormInfo 'dateModified String.
 void setECrypt(java.lang.String ePassIn, byte[] saltIn, int iterationCountIn)
           Set the 'eCrypt' parameters for the host 'JFormForm' Sub-Class...
 void setGroupNumberOfSets(java.lang.String groupName, int n)
           
 void setGroupPanelHeight(int height)
           Set the 'groupPanelHeight' JFormInfo Prameter...
 void setHighliteControlsSet(java.lang.String setName, java.lang.Object[] controls)
           Reset the control elements for the given 'setName' from the given Object Array [controls]...
 void setHighliteFocusTrail(boolean flag)
           Set the Highlite Focus Trail control.
 void setHighliteFocusTrail(byte b)
           Set the Highlite Focus Trail control.
 void setInfoText(java.lang.String newInfoText)
          Set the JFormInfo 'infoText' String
 void setIsComplete(int n)
           Set the 'isComplete' index...
 void setJFormInfo(java.lang.String savedJFormInfo, java.lang.String savedGroupControls, java.lang.String savedHighliteControls, java.lang.String savedQuickEdits, JFormForm form)
           Re-set the parameters of *this* JFormInfo as a function of the "saved" Strings for the JFormInfo, Group Controls, Highlite Controls and Quick Edit Vector.
 void setLastActiveJFormFieldID(java.lang.String id)
           Set the 'lastActiveJFormFieldID' JFormInfo parameter...
 void setNCols(int newNCols)
          Set the 'nCols' JFormInfo parfameter...
 void setNotePad(java.lang.String newNotePad)
          Set the 'notePad' JFormInfo locat variable...
 void setNotePadActive(boolean newNotePadActive)
          Set the 'notePadActive' JFormInfo boolean flag...
 void setNRows(int newNRows)
          Set the 'nRows' JFormInfo parfameter...
 void setQuickEdits(java.lang.String savedQuickEdits)
           Set the Quick Edits Vector of the jFormFrame from a "saved Quick Edits" String [savedQuickEdits]...
 void setQuickEdits(java.util.Vector v)
           Set the Quick Edits Vector of the jFormFrame from a Specified Vector [v]...
 void setRevertFileDate(java.lang.String newDate)
          Set the 'revertFileDate' JFormInfo Parameter...
 void setRowHeight(int newRowHeight)
          Set the 'rowHeight' JFormInfo parameter...
 void setSavedLoadState(char newSavedLoadState)
          Set the 'savedLoadState' JFormInfo parameter...
 void setTitle(java.lang.String s)
          Set the 'title' JFormInfo parameter...
 void showBuilt_In_TestTrace()
           This method is designed to display in a "Message" window the current content of the *this*.Built_In_TestTrace String...
 void showECrypt(java.lang.String annotation, java.lang.String formID)
           Display the current 'eCrypt' Parameters in a 'JFormFrame.message' Dialog...
 void showGroupControls(java.lang.String from)
           This method is designed to display in a "Message" window the current content of the *this*.GroupControls Vector...
 void showHighliteControls(java.lang.String from)
           This method is designed to display in a "Message" window the current content of the *this*.highliteControls Vector...
 void showHighliteControls(java.lang.String from, boolean styleMessage)
           
 void showINFO(java.lang.String from)
           This method is designed to display in a "Message" window the current content of the *this* JFormInfo.
 java.lang.String toString()
          Create the 'saveJFormInfo' data in a String.
 int XXXremoveQuickEdits(java.lang.String Name, java.lang.String groupName, java.lang.String setNumber)
           Remove a 'Required Field' or a 'Marked Field' set from the Quick Edits Vector[QuickEdits]...
 void XXXsetGroupControls(java.util.Vector v)
           Set the GroupControls Vector of the jFormFrame from a Specified Vector [v]...
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

notePadActive

boolean notePadActive

savedLoadState

char savedLoadState
Constructor Detail

JFormInfo

public JFormInfo(JFormForm form)
 Constructor.
 This constructor is used when this Form is initialized by the 'JFormForm' 
 Sub-Class Constructor...
 

Parameters:
form - A Refererence to the "Host" 'JFormForm' Sub-Class
Method Detail

addGroupControls

public void addGroupControls(java.lang.String groupName,
                             int numberOfFields,
                             int numberOfRows,
                             java.lang.String from)
        Add a new set of Group Controls to the GroupControls Vector...
  
        Kernel Usage:
        1)      Used whenever a new JFormForm 'Group' is added to the JFormForm. Generally
                this is done in the 'JFormForm' Sub-Class when a Group is required by the
                'jFormTK' Application...
        

Parameters:
groupName - Group Name [String] to be added
numberOfFields - Number of 'JFormField' Fields [int] in the 'groupName' Group
numberOfRows - Number of Rows Fields [int] in the 'groupName' Group

addGroupControls

public void addGroupControls(java.lang.String groupName,
                             int numberOfFields,
                             int numberOfRows,
                             int groupRowHeight,
                             java.lang.String from)
        Add a new set of Group Controls to the GroupControls Vector...
  
        Kernel Usage:
        1)      Used whenever a new JFormForm 'Group' is added to the JFormForm. Generally
                this is done in the JFormForm Sub-Class when a Group is required by the 
                'jFormTK' Application...
        

Parameters:
groupName - Group Name [String] to be added
numberOfFields - Number of 'JFormField' Fields [int] in the 'groupName' Group
numberOfRows - Number of Rows Fields [int] in the 'groupName' Group
groupRowHeight - Group Row Height

addHighliteControls

public void addHighliteControls(java.lang.String setName,
                                JFormFieldLAFS lafs,
                                java.lang.String range,
                                java.lang.String control,
                                java.lang.String exitFlowControl,
                                java.lang.String exitProcessingControl,
                                java.lang.String from)
        Add a new set of Highlite Controls to the 'highliteControls' Vector...
  
  NOTE:
  If the given Highlite Set Name is found
  Then
        a Soft Abort is performed to instruct the 'jFormTK' Application Developer
        to use the 'editHighliteControls' methods...
  
        Kernel Usage:
        1)      'Util.setHighliteLAF' method once the given parameters are verified...
        

Parameters:
setName - Highlite Set Name [String]...
lafs - Control 'JFormFieldLAF' instance...
range - String range of 'JFormField' ID's OR Group Name...
control - Processing Control Settings - "ON", "OFF", "REMOVE", "FOCUS" and "ASIS"...
exitFlowControl - Flow Control applied on last 'JFormField' Focus...
exitProcessingControl - Processing Control setting once the last 'JFormField' of the 'Highlite' Set is focused...

decrementGroupControlsSets

public static void decrementGroupControlsSets(java.lang.String groupName)
        Decrement the Number of 'Sets' in the specified Group in the GroupControls Vector...

        Kernel Usage:
        1)      Called from the jFormTK 'jFormFrame.addGroup' Method after a new set of
                JFormField's have been removed from the jFormFrame.showPanel'. This operation
                is performed when the Application end user pressed the "Delete Group"
                [_DField] Button...
        

Parameters:
groupName - Group Name [String] to decrement...

displayGroupControls

public java.lang.String displayGroupControls()
        Construct a String that displays the current content of the "Group Controls'
        Vector...
 
        Kernel Usage:
        1)      '*this*.addGroupControls' Method when a Development Phase 'softAbort' is
                presented...
        2)      'Util.sequenceSetNumbers' Method when a Development Phase 'softAbort' is
                presented...
        

Returns:
The display String is returned...

displayHighliteControls

public java.lang.String displayHighliteControls(java.lang.String from)
        Construct a String that displays the current content of the "Highlite Controls'
        Vector...
 
        Kernel Usage:
        1)      '*this*.addHighliteControls' Method...
        2)      '*this*.showHighliteControls' Nethod...
        3)      '*this*.JFormInfo.showINFO' Method...
        4)      '*this*.JFormInfo.setHighliteControlsSet' Method...
        

Returns:
The display String is returned...

editHighliteControls

public void editHighliteControls(java.lang.String setName,
                                 JFormFieldLAFS lafs,
                                 java.lang.String range,
                                 java.lang.String control,
                                 java.lang.String exitFlowControl,
                                 java.lang.String exitProcessingControl)
        Edit the indicated 'hightiteControls' Set given the following rules:
        1)      If the JFormFieldLAFS parameter is NOT null,
                Then edit the 'hightiteControls' Vector element...
        2)      If the 'range', control', 'exitFlowControl' OR 'exitProcessingControl'
                String does NOT contain the "Null" String [case insensitive]
                Then edit the associated 'hightiteControls' Vector element...
        NOTE:
        The above conditional edits are designed to enable the user to keep
        selected elements "ASIS". The "Null" was used in lieu of the more intuitive
        "ASIS" because the Processing Control elements may be set to "ASIS".

        Kernel Usage:
        1)      By "JFormForm' Sub-Class Forms as required to get the desired 
                "Highlite Set: effect...
        

Parameters:
setName - Highlite Set Name [String]...
lafs - Control 'JFormFieldLAF' instance...
range - String range of 'JFormField' ID's OR Group Name...
control - Processing Control Settings - "ON", "OFF", "REMOVE", "FOCUS" and "ASIS"...
exitFlowControl - Flow Control applied on last 'JFormField' Focus...
exitProcessingControl - Processing Control setting once the last 'JFormField' of the 'Highlite' Set is focused...

findGroupName

public static int findGroupName(java.lang.String groupName)
        Return an index into the 'GroupControls' Vector for the given Group Name
        [GroupName]...

        Kernel Usage:
        1)      [No Longer used] Util.addGroup Method...
        2)      Util.deleteGroup Method...
        3)      Util.incrementGroupdControlSets Method...
        4)      Util.decrementGroupdControlSets Method...
        5)      jFormFrame.backSet Method...
        6)      AppForms.isGroupName  Method...
        7)      jFormIO.showPage Method to find the required Group Name index into the
                current Form's "Group Controls" Vector...
        

Parameters:
groupName - Group Name [String] to search...
Returns:
The 'groupControls' index for the found Group Name OR -1 if the given group is not found in the 'groupControls' Vector...

getBuilt_In_TestTrace

public java.lang.String getBuilt_In_TestTrace()
Get Built_In_TestTrace String...

Returns:
'built_In-Trace' JFormInfo Parameter[String]...

getBuilt_In_TestTraceString

public java.lang.String getBuilt_In_TestTraceString()
        Build a multi-line [one line for each record] "Display String" from the current
        *this* 'Built_In_TestTrace' String...
        

Returns:
'Built_In_Test' Trace JFormInfo [String]...

getColWidth

public int getColWidth()
Returns:
'colWidth' JFormInfo Parameter[String]...

getControlButtonControls

public java.util.Vector getControlButtonControls()
Returns:
'controlButtonsControls' JFormTKInfo Parameter[Vector]...

getControlButtonControlsString

public java.lang.String getControlButtonControlsString()
 Build and return a String that has the current Control Button Flags concatenated with the 
 jFormTKDB items delimiter...
 

Returns:
'controlButtonControls' JFormInfo Parameter[String]...

getDateCreated

public java.lang.String getDateCreated()
Returns:
'dateCreated' JFormInfo Parameter[String]...

getDateModified

public java.lang.String getDateModified()
Returns:
'dateModified' JFormInfo Parameter[String]...

getEPass

public java.lang.String getEPass()

getGroupControls

public static java.util.Vector getGroupControls()
Returns:
'groupControls' JFormInfo Parameter[Vector]...

getGroupControls

public int[] getGroupControls(java.lang.String inGroupName)
 Method to return a 'int' Array of the Group Controls for a given "Group Name".
 The format of the constructed array is as follows:
         [0] - No. 0f Fields...
         [1] - No. of Rows...
         [2] = No. of Sets...
         [3] = Group Panel Height...
 NOTE:  If the given Group Name [inGroupName] is NOT found in the current
                                'GroupControls' Vector,
        Then the return Array will be filled with the -1 int Values...
        

Parameters:
inGroupName - Group Name to find...
Returns:
JFormInfo Constructed 'int' Array...

getGroupNumberOfFields

public int getGroupNumberOfFields(java.lang.String groupName)

getGroupNumberOfRows

public int getGroupNumberOfRows(java.lang.String groupName)

getGroupNumberOfSets

public int getGroupNumberOfSets(java.lang.String groupName)

getGroupControlsString

public java.lang.String getGroupControlsString()
        Build and return a String that has the current Group Controls Vector Elements
        concatenated with the jFormTKDB items Delimiter...
 
        Kernel Usage:
        1)      'JHDD_IO.writeToFile' Method to get the saved String for the current content
                of the 'JFormInfo.groupControls' Vector...
        

Returns:
'concatenated Group Controls' JFormInfo [String]...

getGroupPanelRowHeight

public int getGroupPanelRowHeight(java.lang.String groupName)
        Compute a Group Panel Row Height.
 
        NOTE:
        The "groupPanelHeight" Control is required iff the "Group Panel" size derived from
        the default row size and the number of rows is iNadequete...
        The 'jFormTK' Kernel adds 2.5 the "groupPanelInsets" value as the "System Default".
        The display size of the "Group Panel" may be adjusted via *this* "Height Control"...
 
        If this value is not the default [-1],
        Then the 'jFormTK' kernel shall use this height to control the size of each
                Group JPanel row. The 'jFormTK' developer may need to try a few values to
                determine the proper delta for each Group...
 
        NOTE:
        This height value may be controlled by the 'jFormTK' App developer as follows:
        1)      Set for all the Groups of a 'JFormForm' via the 'setGroupPanelHeight' Method...
        2)      Set via an argument to the 'setGroupControl' Method  to set a unique delta
                for each Group of a Form...
 
        Kernel Usage:
        1)      'jFormTK.JHDD_IO.showPage' Method to determine if the 'jFormTK' Developer has 
                a requirement to change the default size of the "Group Panel" insert Row
                delta value...
        

Returns:
calculated 'Panel Row Height' JFormInfo Paramete [int]...

getHighliteSetControls

public java.lang.Object[] getHighliteSetControls(java.lang.String inSetName)
        Method to return an 'Object' Array of the Highlite Controls for a given
        "Set Name".
        The format of the constructed Object array is as follows:
         [0]    -       JFormFieldLAF   JFormFieldLAF control object...
         [1]    -       String                  Start 'JFormField' ID OR GroupName...
         [2]    -       String                  End 'JFormField' ID
         [3]    -       String                  Processing Control...
         [4]    -       String                  Exit Flow Control...
         [5]    -       String                  Exit Processing Control...
 NOTE:  If the given Highlited Name [inSetName] is NOT found in the current
                                'highliteControls' Vector,
        Then the return Array will be filled with the "" Null Strings...
        

Parameters:
inSetName - Highlite Set Name to find in the 'highliteControls' Vector...
Returns:
Constructed Objects Array...

getHighliteSetNames

public java.lang.String[] getHighliteSetNames()
        Construct and return a String arrof of the current 'highliteControl' Vector Sets...

        Kernel Usage:
        1)      'JFormFrame.refreshShowPanel' Method to LOOP thru the current Sets
                while construction the Range of 'JFormFields' to be Highlited...
        

Returns:
String array of current Set Names...

getHighliteSet

public java.util.Vector getHighliteSet(java.lang.String setName)
        Construct and return a Vector that contains the 'highliteControls' for
        the specifiec "Highlite Set" Name [setName]...

        The Vector format shall be as follows:
        element 0       lafs            Control 'JFormFieldLAF' instance...
        element 1       range           String range of 'JFormField' ID's OR Group Name...
        element 2       control         Processing Control ["ON", "OFF", "REMOVE and "ASIS"]
        element 3       exitFlowControl
                                                        Flow Control applied on last 'JFormField' Focus...              
        element 4       exitProcessingControl
                                                        Processing Control applied on last 'JFormField' Focus...

        Kernel Usage:
        1)              
        

Parameters:
setName - Name of the set to be found...
Returns:
'highliteControls' for tne specified set[Vector]...

getHighliteControls

public java.util.Vector getHighliteControls()
Returns:
'highliteControls' JFormInfo Parameter[Vector]...

getHighliteNumberOfSets

public int getHighliteNumberOfSets()
        Return the Number of Highlite Sets...

        Kernel Usage:
        1)      '*This*'.removeHighliteSet' Method...
        

Returns:
Number of Sets converted to an 'int'...

getHighliteControlsString

public java.lang.String getHighliteControlsString()
        Build and return a String that has the current Highlite Controls Vector Elements
        concatenated with the jFormTKDB items Delimiter...
 
        Kernel Usage:
        1)      'JHDD_IO.writeToFile' Method to get the saved String for the current content
                of the 'JFormInfo.highliteControls' Vector...
        

Returns:
'concatenated' Highlited Controls' JFormInfo [String]...

getHighliteControlsSetNameIndex

public int getHighliteControlsSetNameIndex(java.lang.String setName)
Get the 'highliteControls' Vector element index for the given Set Name [setName]... Kernel Usage: 1) 'JFormInfo.addHighliteControls' to determine if the Highlite Set to be added already exist in the 'highliteControls' Vector... 2) 'JFormInfo.getHighliteSet' method to ensure that the request Set Name exist currently in the 'highliteControls' Vector... 3) 'JFormInfo.editHighliteControls' Method to ensure that the Set Name to be modified exist and to get a working index into the 'highliteControls' Vector... 4) 'JFormInfo.setHighliteControlsSet' method to verify that the given Highlite Set Name exist in the current 'highliteControls' Vector...

Parameters:
setName - Set Name String to find in the 'highliteControls' Vector...
Returns:
Index of the Found Set Name in the 'highliteControls' Vector OR -1 if the given Set Name is not found...

getInfoText

public java.lang.String getInfoText()
Returns:
'infoText' JFormInfo Parameter[String]...

getIterationCount

public int getIterationCount()

getisComplete

public int getisComplete()
Returns:
'isComplete' JFormInfo Parameter[boolean]...

getIsGroup

public boolean getIsGroup()
 Return a boolean Flag to indicate if the "Host" JFormForm Sub-Class has any
 Groups. A 'true' is returned iff the Group Controls Vector has Group entries.
 
        Kernel Usage:
        1)      '*this*.showINFO' Method to build display annotations...
 

Returns:
'isGroup' JFormInfo Parameter[boolean]...

incrementGroupControlsSets

public static void incrementGroupControlsSets(java.lang.String groupName)
        Increment the Number of 'Sets' in the specified Group in the GroupControls
        Vector...

        Kernel Usage:
        1)      Called from each Application Unique 'JFormForm' program after the initial
                Set of JFormField's of the 'Group' are added [via jFormFrame addField Method]
                to the JFormForm...
        2)      Called from the jFormTK 'jFormFrame.addGroupSet' Method after a new set of
                JFormField's have been added to the JFormForm 'formFields' Vector. This
                operation is performed when the Application end user pressed the "Add Group"
                [_AField] Button...  
        

Parameters:
groupName - Group Name String to be incremented...

isHighlite

public boolean isHighlite()
        Return a boolean Flag to indicate if the "Host" JFormForm Sub-Class has any
        Highlited Areas. A 'true' is returned iff the 'highliteControls' Vector has
        Set entries...
 
        Kernel Usage:
        1)      '*this*.showINFO' Method to build display annotations...
        2)      'JFocus.doPostProcess' to service the 'exitFlowControl' and exit
                'processingControl' iff the last 'JFormField' of a Highlite Control
                has the focus...
        3)      'JFormFrame.refreshShowPanel' method to determine if a 'Highlite Control'
                Vector needs processing...
        4)      'JFocus.preProcess' ????
 

Returns:
'isHighlite' JFormInfo Parameter[boolean]...

isHighliteFocusTrail

public boolean isHighliteFocusTrail()
Returns:
'highliteFocusTrail' Flag...

getJFormForm

public JFormForm getJFormForm()
Returns:
'Host 'JFormForm' Sub-Class' JFormInfo Parameter[JFormForm]...

getLastActiveJFormFieldID

public java.lang.String getLastActiveJFormFieldID()
        Get the ID of the last Active 'JFormField' added to this 'JFormForm' Sub-Class.
 
        Kernel Usage:
        1) 'this.showINFO' method...
        

Returns:
'lastActiveJFormFieldID' JFormInfo Parameter[String]...

getNCols

public int getNCols()
Get the Number of Columns for the Host 'JFormForm' Sub-Class...

Returns:
'nCols' JFormInfo Paramete [int]...

getNotePad

public java.lang.String getNotePad()
Returns:
'notePad' JFormInfo Parameter['jFormTK.Notepad']...

getNotePadActive

public boolean getNotePadActive()
Returns:
'notePadActive' JFormInfo Parameter[boolean]...

getNRows

public int getNRows()
Get the Number of Rowss for the Host 'JFormForm' Sub-Class...

Returns:
'nRows' JFormInfo Paramete [int]...

getQuickEdits

public java.util.Vector getQuickEdits()
Get a 'reference' to this 'JFormForm' Sub-Class 'QuickEdits' Vector.

Returns:
'quickEdits' JFormTKInfo Parameter[Vector]...

getQuickEditsString

public java.lang.String getQuickEditsString()
        Build and return a String that has the current Quick Edit Vector Elements
        concatenated with the JFormTKDB.itemsDelimiter...
        

Returns:
constructed 'quickEdits' JFormInfo Parameter[String]...

getRevertFileDate

public java.lang.String getRevertFileDate()
Returns:
'revertFileDate' JFormInfo Parameter[String]...

getRowHeight

public int getRowHeight()
Returns:
'rowHeight' JFormInfo Paramete [int]...

getSalt

public byte[] getSalt()

getSavedLoadState

public char getSavedLoadState()
Returns:
'saveLoadState' JFormInfo Parameter[char]...

getTitle

public java.lang.String getTitle()
Returns:
'title' JFormInfo Parameter[String]...

removeHighliteSet

public void removeHighliteSet(java.lang.String set,
                              java.lang.String from)
        Remove the given Set from the 'highliteControls' Vector...
        If the removal is unsuccessful
        Then Present a waring to the End User...

        Kernel Usage:
        1)      '*This*'.addHighliteControls' Method when the 'encodedJFormFieldLAF' is null...
        2)      'JFormForm' Sub-Class Forms to manage Highlited Area's...
        

Parameters:
set - Set Name [String] to be removed...
from - String to annotate the method that made the removeal request...

removeHighliteSet

public boolean removeHighliteSet(java.lang.String setName)
        Remove the given Set from the 'highliteControls' Vector and refresh the
        'JFormField' elements that were previously highlited......

        Kernel Usage:
        1)      'JFormFrame.refreshShowPanel' Method when the "Processing Control" of a
                Highlite Set is "REMOVE"...
        

Parameters:
setName - Set Name [String] to be removed...
Returns:
Flag [boolean] to indicate the success or failure to Remove...

XXXremoveQuickEdits

public int XXXremoveQuickEdits(java.lang.String Name,
                               java.lang.String groupName,
                               java.lang.String setNumber)
        Remove a 'Required Field' or a 'Marked Field' set from the Quick Edits
        Vector[QuickEdits]...
 
        Kernel Usage:
        1)      Called from the 'jFormTK.JFormForm' Class 'doMark' Method when the end
                user has toggled the 'ALT / M' Button...
        

Parameters:
Name - 'JFormField' Field Name [String] to be removed...
groupName - 'JFormField' Field Name [String] to be removed...
setNumber - 'JFormField' Field Name [String] to be removed...
Returns:
Index of the removed Quick Edit Element

setBuilt_In_TestTrace

public void setBuilt_In_TestTrace(java.lang.String s)
        Set 'built_In_TestTrace' from given String[s]...
 
        Kernel Usage:
        1)      'JTest.Built_In_TestRecord' Method when the "Built_In_Test" is active and a
                'JFormField' has lost Focus and is a canidate for 'post Processing'...
        2)      'JFocusMaNager.processKeyEvent' Method when the "Built_In_Trace" Toggle Keys
                are used and the "Keep_Active" Control has not been set, i.e. the trace is
                completed. This method is called to clear the "Built_In_TestTrace" String...
        

Parameters:
s - 'built_In_TestTrace' String...

setColWidth

public void setColWidth(int newColWidth)
        Set the 'JFormInfo.colWidth' parameter...
 
        Kernel Usage:
        1)      'JFormForm.Constructor' to establish the width of each Column in a specific
                'jFormTK' Application Form...
        

Parameters:
newColWidth - New Clumn's Width...

setControlButtonControls

public void setControlButtonControls(java.lang.String savedControlButtonControls)
        Set the Control Buttons Vector [controlButtonControls] as a function of the given
        'savedControlButtonControls' String...
 
        Kernel Usage:
        1)      'JFormInfo.setJFormInfo' Method to 're-load' the Control Buttons Vector when
                a 'JFormForm' Sub-Class is reloaded...
        

Parameters:
savedControlButtonControls - The saved ControlButton String...

setControlButtonControls

public void setControlButtonControls(java.util.Vector v)
        Set the Control Button Flags Vector of the 1FormFrame from  a Specified Vector
        [v]...
        The given Vector is compared to the existing 'controlButtonControls' Vector and
        if they are unequal, the given Vector [v] replaces the current JFormInfo
        Control Button Controls.
 
        Kernel Usage:
        1)      'jFormFrame.Constructor' as each new 'JFormForm' is setup...
        2)      'jFormFrame.setControlButtonControls' Method...
        

Parameters:
v - Vector of Controlo Button parameters....

setDateModified

public void setDateModified(java.lang.String newDate)
Set the JFormInfo 'dateModified String.

Parameters:
newDate - New "Date Modified" String...

setECrypt

public void setECrypt(java.lang.String ePassIn,
                      byte[] saltIn,
                      int iterationCountIn)
        Set the 'eCrypt' parameters for the host 'JFormForm' Sub-Class...

        Kernel Usage:
        1)      'JCryptography.makeEcrypt' method...
        

Parameters:
ePassIn - Encrypt/Decrypt password...
saltIn - Password Based Encryption [PBE] Salt [8 Bytes required]...
iterationCountIn - Iteration count to be used in the PBE Encrypt/Decrypt process...

setGroupNumberOfSets

public void setGroupNumberOfSets(java.lang.String groupName,
                                 int n)

setHighliteControlsSet

public void setHighliteControlsSet(java.lang.String setName,
                                   java.lang.Object[] controls)
        Reset the control elements for the given 'setName' from the given Object
        Array [controls]...

        Kernel Usage:
        1)      'JFormFrame.refreshShowPanel' method after the set's 'JFormField'
                objects have been highlited and the "Processing Control' reset to
                "ASIS"...
        2)      'JFormFrame.refreshShowPanel' method after the set's 'JFormField'
                objects have been refreshed as a function of an "OFF" 'processControl
                operation...
        3)      'JFocus.doPostProcess' method after the last 'JFormField' of a
                Highlite Set has been detected and the 'processingControl' is set to
                the 'exitProcessingControl'... 
        

Parameters:
setName - Set Name to reset...
controls - Object array of the Highlite Sets Controls...

setHighliteFocusTrail

public void setHighliteFocusTrail(boolean flag)
        Set the Highlite Focus Trail control.
        This signature is designed to allow the 'jFormTK' Developer to set the
        'highliteFocusTrail' control for the 'JFormInfo' Host 'JFormForm' Sub-Class...
        

Parameters:
flag - Flag [boolean] to set the Highlite Focus Trail Control...

setHighliteFocusTrail

public void setHighliteFocusTrail(byte b)
        Set the Highlite Focus Trail control.
        This signature is designed to allow the 'jFormTK' Developer to reset the
        'highliteFocusTrail' control to a null [-1] so that subsequent Highlite
        Control processing for the 'JFormForm' Sub-Task shall reference the System
        default Highlite Focus Trail Flag [i.e. JFormTKDB.highliteFocusTrail]...
        

Parameters:
b - Byte to set the 'highliteFocusTrail' parameter to...

XXXsetGroupControls

public void XXXsetGroupControls(java.util.Vector v)
        Set the GroupControls Vector of the jFormFrame from a Specified Vector [v]...

        Kernel Usage:
        <<< NOT CURRENTLT IN USE >>>
        This Method SigNature is used when the 'JFormFrame' has been read from the HDD
        and the previously saved 'GroupControls" are then loaded into the jFormFrame
        'GroupControls' via the Vector that is retrieved from the saved information
        header...
        

Parameters:
v - Vector of Group Controls...

setGroupPanelHeight

public void setGroupPanelHeight(int height)
        Set the 'groupPanelHeight' JFormInfo Prameter...
 
        Kernel Usage:
        1)      'JFormForm' sub-Class to override the 'jFormTK' kernel's Group Panel 
                delta parameter... 
        

Parameters:
height - new Group Panel Row Height [int]

setInfoText

public void setInfoText(java.lang.String newInfoText)
Set the JFormInfo 'infoText' String

Parameters:
newInfoText - New 'infoText' String...

setIsComplete

public void setIsComplete(int n)
        Set the 'isComplete' index...

        Kernel Usage:
        1)      'JFormFrame.setIsComplete' Method as part of the 'JUnloadForm' process...
        

Parameters:
n - The current number of "Required Fields" that have NOT been provided a value by the 'jFormTK' End User...

setJFormInfo

public void setJFormInfo(java.lang.String savedJFormInfo,
                         java.lang.String savedGroupControls,
                         java.lang.String savedHighliteControls,
                         java.lang.String savedQuickEdits,
                         JFormForm form)
        Re-set the parameters of *this* JFormInfo as a function of the "saved" Strings
        for the JFormInfo, Group Controls, Highlite Controls and Quick Edit Vector.
 
        Kernel Usage:
        1)      Called from the 'JFormForm' Constructor when the 'isFile' State parameter
                is 'true'...
                NOTE:   'JFormInfo.isFile' is true iff a "Saved" File exist.
                If the saved file exist it is read from the storage device. A saved
                JFormInfo file consist of a "Saved" string for the 'JFormInfo' parameters
                values at save time. In addition, Saved Value string also exist for the
                state of the Group Controls Vector, the Highlite Controls Vector and the
                Quick Edits vector.
 
                These four String are used to create a new instance of the JFormInfo Class
                in the same state as it was when the last save was done by the 'jFormTK'
                Application End User.
        

Parameters:
savedJFormInfo - Saved JFormInfo String
savedGroupControls - Saved Group Controls String
savedHighliteControls - Saved Group Controls String
savedQuickEdits - Saved Quick Edit String

setLastActiveJFormFieldID

public void setLastActiveJFormFieldID(java.lang.String id)
        Set the 'lastActiveJFormFieldID' JFormInfo parameter...
        Kernel Usage:
        1)      'JFormFrame.showPage' Method prior to displaying OR re-displaying a page...
        

Parameters:
id - The 'JFormField' ID of the last Field loaded...

setNCols

public void setNCols(int newNCols)
Set the 'nCols' JFormInfo parfameter...

Parameters:
newNCols - The new Number Of Columns Value [int]

setNotePad

public void setNotePad(java.lang.String newNotePad)
Set the 'notePad' JFormInfo locat variable...

Parameters:
newNotePad - New Note Pad instance [NotePad]

setNotePadActive

public void setNotePadActive(boolean newNotePadActive)
Set the 'notePadActive' JFormInfo boolean flag...

Parameters:
newNotePadActive - Flag [boolean] to set 'notePadActive' to.

setNRows

public void setNRows(int newNRows)
Set the 'nRows' JFormInfo parfameter...

Parameters:
newNRows - The new Number Of Rows Value [int]

setQuickEdits

public void setQuickEdits(java.lang.String savedQuickEdits)
        Set the Quick Edits Vector of the jFormFrame from a "saved Quick Edits" String
        [savedQuickEdits]...
        NOTE:
        The 'savedQuickEdits' String was created using the 'public String
        'getQuickEdits()' Method. The string was then stored in the 'JFormForm jFormData'
        Vector and written to the storage device.

        Kernel Usage: 
        1)      Used by *this* JFormInfo 're-load' Constructor to reset the saved Group
                Controls Vector. 
        

Parameters:
savedQuickEdits - String of Quick Edit parameters...

setQuickEdits

public void setQuickEdits(java.util.Vector v)
        Set the Quick Edits Vector of the jFormFrame from  a Specified Vector [v]...

        Kernel Usage:
        1)      This Method SigNature is used when the JFormForm Sub-Class has been read
                from the Storage Device [e.g. HDD] and the previously saved 'QuickEdits"
                are then loaded into the jFormFrame 'QuickEdits' via the Vector that is
                retrieved from the saved information header.
        

Parameters:
v - Vector

setRevertFileDate

public void setRevertFileDate(java.lang.String newDate)
Set the 'revertFileDate' JFormInfo Parameter...

Parameters:
newDate - Revert File Date [String]...

setRowHeight

public void setRowHeight(int newRowHeight)
Set the 'rowHeight' JFormInfo parameter...

Parameters:
newRowHeight - New Row Height [int]

setSavedLoadState

public void setSavedLoadState(char newSavedLoadState)
Set the 'savedLoadState' JFormInfo parameter...

Parameters:
newSavedLoadState - New Saved Load State [char]

setTitle

public void setTitle(java.lang.String s)
Set the 'title' JFormInfo parameter...

Parameters:
s - Title [String]

showBuilt_In_TestTrace

public void showBuilt_In_TestTrace()
        This method is designed to display in a "Message" window the current content of
        the *this*.Built_In_TestTrace String...
 
        Kernel Usage:
        1)      As a 'DEBUG' tool by the 'jFormTK' Developer...
        


showGroupControls

public void showGroupControls(java.lang.String from)
        This method is designed to display in a "Message" window the current content of
        the *this*.GroupControls Vector...
 
        Kernel Usage:
        1)      As a 'DEBUG' tool by the 'jFormTK' Developer...
        

Parameters:
from - DEBUG annotation to indicate the calling Class/Method...

showHighliteControls

public void showHighliteControls(java.lang.String from)
        This method is designed to display in a "Message" window the current content of
        the *this*.highliteControls Vector...
 
        Kernel Usage:
        1)      As a 'DEBUG' tool by the 'jFormTK' Developer...
        

Parameters:
from - DEBUG annotation to indicate the calling Class/Method...

showHighliteControls

public void showHighliteControls(java.lang.String from,
                                 boolean styleMessage)

showINFO

public void showINFO(java.lang.String from)
        This method is designed to display in a "Message" window the current content of
        the *this* JFormInfo.
 
        Kernel Usage:
        1)      As a 'DEBUG' tool by the 'jFormTK' Developer...
        

Parameters:
from - DEBUG annotation to indicate the calling Class/Method...

displayECrypt

public java.lang.String displayECrypt(java.lang.String formID)

showECrypt

public void showECrypt(java.lang.String annotation,
                       java.lang.String formID)
        Display the current 'eCrypt' Parameters in a 'JFormFrame.message' Dialog...

        Kernel Usage:
        1)      'JCryptography.makeECrypt' method if a request is make to load the
                'eCrypt' Parameters AND the 'eCrypt' parameters already exist
                AND the JFormInfo.showECrypt' flag is ON...
        2)      As required for 'jFormTK' kernel debug...
        

Parameters:
formID -

toString

public java.lang.String toString()
Create the 'saveJFormInfo' data in a String. This data can then be used, via the following JFormInfo Constructor: public JFormInfo(String saveJFormInfo) Override of Java Kernel 'toString' to control the 'toString' processing.

Overrides:
toString in class java.lang.Object
See Also:
Kernel Usage: 1) Used by the 'jFormTK.JHDD_IO.writeToFile' Method to construct the 'saveJFormInfo' String that is placed Element 0 of the jFormFrame 'jFormData' Vector. This vector is subsequently written to the 'Category.FileName file on the storage device.