ARoad0.Gui1
Class BaseObjectHandler

java.lang.Object
  extended by ARoad0.Gui1.BaseObjectHandler
All Implemented Interfaces:
CreationDialogListener, SelectionDialogListener, MVC_Controller, MVC_View, java.awt.event.ActionListener, java.util.EventListener

public class BaseObjectHandler
extends java.lang.Object
implements MVC_Controller, MVC_View, java.awt.event.ActionListener, SelectionDialogListener, CreationDialogListener

This important class is responsible for creating or copying a BaseObject instance, but not an ACS nor a view. In the MVC pattern, this is the controler that handles all user dialogs to define the relevant parameters. For creating or copying, the BaseObject class methods to use are declared in the BeanInfo class (the model in the MVC pattern) which is associated to the gBase class in the gBaseBeanInfo package. User dialogs are handled by DialogBox (the View in MVC). It allows to create a base object both: - through its constructor, - through the 'add' method of another object (for example, AclEntry from Resource), - or through its copy method. The selection depends on the valueOf method which is used, among three, to build up the correct BaseObjectHandler instance. The BaseObjectHandler constructor is to be avoided.

The general logic of this class is a mix of BeamerManager and SimplePropertyEditor. The creator of the BaseObjectHandler instance has to be a NewBaseObjectListener for using a constructor or a copy method, or the subinterface AddRemoveBaseObjectListener for using an 'add' method. In the first case, a handleNewBaseObject() method is called by this instance after the new BaseObject creation or copying. In the second case, an addOneBaseObject method is called back. It handles preset, constrained, optional, uncomplete or mandatory arguments, and checks the ACS properties of an ACSObject to control the entered values.

This class is used by SimplePropertyEditor.actionPerformed(), CollectionPropertyEditor.addElement(), ActionNewResource, ActionNewEligibleParty, ActionCopy. This class displays and manages the panels which are required to enter all the parameters of the new BaseObject. The number of parameters has to be strictly inferior to 8. It allows the user to choose a parameter: - among any open base objects, through the explorer (the second-level dialog to handle is then controlled by this class), - among the allowed values, if the parameter is constrained by the ACS or the base object BeanInfo class, - or to create it, if it is a boolean, a string, a name. It does not allow to create a parameter from scratch if it is a BaseObject; this type of parameter has to be created before the call to BaseObjectHandler. When the argument is a relative name to concatenate with the name of another argument (the ACS or the directory name, for example), the root argument must be a BaseObject. The panel for a parameter may be dynamically changed in the user windows when the presence of a constraint on the values for a parameter depends on the value of the ACS, and when the ACS value is a parameter the user has to choice (example: 'Acl Rights' at the creation of the AclEntry).

Each parameter may be constrained through the ACS, with a limited set of values, including the control of a null argument. Each parameter may be optional, and then, it is not used to create the base object instance if it is null. When the parameter is an array, only one-value array is created as parameter of the constructing method. See the Copyright.

See Also:
SimplePropertyEditor, CollectionPropertyEditor

Field Summary
protected  int argIndex_
          The index in l_argumentsValues_ of the argument currently processed, between '0' and l_argumentsValues_.length - 1.
protected  NewBaseObjectListener caller_
          This is the creator of this instance.
protected static int INITIAL_CAPACITY
          Default capacity for collections and maps
protected  java.lang.Class[] l_argumentsClass_
          The classes array of the arguments to use for creating the new instance of a BaseObject.
protected  java.lang.Integer[] l_argumentsConcatening_
          The Int array of the name arguments which are relative and are to concatenate with names from another arguments
protected  java.lang.Boolean[] l_argumentsFromSelect_
          The Boolean array to use for selecting or not the value, from the explorer or through a special dialog.
protected  javax.swing.JComponent[] l_argumentsJComponent_
          The JComponent (JTextField, JComboBox) array to use for displaying the arguments.
protected  javax.swing.JPanel[] l_argumentsJPanel_
          The JPanel array to use for displaying the arguments.
protected  java.lang.String[] l_argumentsNames_
          The names array of the arguments for the constructor of the new instance, in the same order used in l_argumentsClass_.
protected  java.lang.Object[] l_argumentsValues_
          The arguments values array to use for creating the new instance of a BaseObject.
protected  java.lang.String[] l_displayNames_
          The property names displayed in the panel.
protected static java.lang.String[] L_INDEX
          This index is used for the buttons in the creation dialog
protected  java.lang.Boolean[] l_nonVisibleArguments_
          The Boolean array of non visible arguments.
protected  java.lang.Boolean[] l_nullArgumentPossible_
          The Boolean array to allow or not a null argument.
protected  java.lang.Boolean[] l_optionalArguments_
          The Boolean array of optional argument.
protected  java.lang.Boolean[] l_restrictedArguments_
          The Boolean array of restricted argument.
protected  java.lang.String[] l_restrictedFromOtherArgumentMessage_
          The String array of user messages for restricted arguments.
protected static java.awt.Dimension NAME_DIMENSION
          Name dimension for all arguments
protected  BeanInfoPattern newBaseObjectBeanInfo_
          The beanInfo instance associated to newBaseObjectClass_
protected  java.lang.Class newBaseObjectClass_
          The class of the new BaseObject value to create.
protected  Copyable objectToCopy_
          The BaseObject instance to copy.
protected  boolean onGoingCreationDialog_
          True when getBaseObjectEditor() has called DialogBox for entering the user choices, until the call back to handleCreationDialog().
protected  java.beans.PropertyDescriptor propertyDescriptor_
          When it is new BaseObject to create through the call of an 'add' method, this is the descriptor of the property.
 
Constructor Summary
private BaseObjectHandler()
          Constructor FOR USING ONLY through the valueOf() methods.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent _evt)
          Manages the events fired by all the Select buttons in the JPanels which are created by getBaseObjectEditor().
private  boolean checkNullArguments()
          Checks in l_argumentsJComponent_ if there is a null or empty argument while it is forbidden.
private static BaseObjectHandler commonValueOf(BaseObjectHandler _result, java.lang.Class _baseObjectClass, boolean _fromConstructor)
          Sets most of the _result properties from its BeanInfo class.
private  void createBaseObject()
          Called by handleCreationDialog() to create the base object.
private  void finalizeForProcess()
          Sets to null all the variables of the instance
private  javax.swing.JPanel getArgumentEditor(javax.swing.JPanel _result, java.lang.String _propertyName, boolean _isSelected, int _argIndex, boolean _isDefined, java.lang.Object _knownValue, ACSRun _acs)
          Gets a graphical editor for an argument or for the source, when the type is a boolean, string, name, BaseObject (including StringRight), or a String list.
 void getBaseObjectEditor()
          Displays the arguments panels for creating the new BaseObject instance, then creates it after the user had entered all the values.
 void getBaseObjectEditor(java.lang.Object[] _l_knownValue)
          This is the unique method to call on a BaseObjectHandler instance, which displays the arguments panels for creating the new BaseObject instance, then creates it after the user had entered all the values.
private  javax.swing.JPanel getBooleanEditor(javax.swing.JPanel _result, java.lang.String _propertyName, int _argIndex, boolean _isDefined, java.lang.Object _knownValue, java.beans.PropertyDescriptor[] _l_propertyDescriptor, int _beanInfoIndex)
          Gets a graphical editor for an argument or for the source, when the type is a boolean.
 void handleCreationDialog(boolean _data)
          After an user click on 'OK', reads the data entered by the user in the JPanels, and creates the new BaseObject.
 void handleSelectionDialog(java.util.Map _validatedObjectsSetMap)
          Called by DialogBox.showExplorerSelectionDialog() for actionPerformed(), when an argument is a BaseObject which has to be selected in the explorer.
private  void removeOptionalArguments()
          Removes the null arguments which are optional, to select the right constructor.
private  void setFinalArguments()
          Sets in l_argumentsValues_ the absolute arguments to use, through an analyse of the relative names to concatenate.
private  void setRelativeArguments()
          Sets in l_argumentsValues_, from l_argumentsJComponent_, the right arguments to use, but without handling of the absolute names.
private  void setRestrictedSelectedArguments()
          Sets l_argumentsValues_ when an argument is a StringRight array argument in a combox, from a restricted set proposed to the user.
static BaseObjectHandler valueOf(AddRemoveBaseObjectListener _caller, java.beans.PropertyDescriptor _propertyDescriptor, java.lang.reflect.Method _addMethod)
          Second of the 3 valueOf methods, to create a new BaseObject through an 'ADD' method which is described in a property descriptor.
static BaseObjectHandler valueOf(NewBaseObjectListener _caller, java.lang.Class _baseObjectClass)
          First of the 3 valueOf methods, to create a new BaseObject through its CONSTRUCTOR, as it is described in the bean descriptor in the relevant BeanInfo class.
static BaseObjectHandler valueOf(NewBaseObjectListener _caller, Copyable _toCopy, Copyable _toCopy2)
          Third of the 3 valueOf methods, to create a new BaseObject through the COPY method, as it is described in the bean descriptor of the relevant BeanInfo class.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INITIAL_CAPACITY

protected static final int INITIAL_CAPACITY
Default capacity for collections and maps

See Also:
Constant Field Values

NAME_DIMENSION

protected static final java.awt.Dimension NAME_DIMENSION
Name dimension for all arguments


L_INDEX

protected static final java.lang.String[] L_INDEX
This index is used for the buttons in the creation dialog


caller_

protected NewBaseObjectListener caller_
This is the creator of this instance. It is called back by this instance. It is the subinterface AddRemoveBaseObjectListener if an 'add/remove' method is used.


propertyDescriptor_

protected java.beans.PropertyDescriptor propertyDescriptor_
When it is new BaseObject to create through the call of an 'add' method, this is the descriptor of the property. Otherwise, it is always null.


newBaseObjectClass_

protected java.lang.Class newBaseObjectClass_
The class of the new BaseObject value to create. Cannot be an ACS.


newBaseObjectBeanInfo_

protected BeanInfoPattern newBaseObjectBeanInfo_
The beanInfo instance associated to newBaseObjectClass_


l_argumentsValues_

protected java.lang.Object[] l_argumentsValues_
The arguments values array to use for creating the new instance of a BaseObject.


l_argumentsClass_

protected java.lang.Class[] l_argumentsClass_
The classes array of the arguments to use for creating the new instance of a BaseObject. To select an item in the explorer when the argument is an array of items (like StringRight[] for new Privileges), the class is not the array but it is the item class (like StringRight).


l_argumentsNames_

protected java.lang.String[] l_argumentsNames_
The names array of the arguments for the constructor of the new instance, in the same order used in l_argumentsClass_. These names are properties of the BaseObject to create.


l_argumentsJComponent_

protected javax.swing.JComponent[] l_argumentsJComponent_
The JComponent (JTextField, JComboBox) array to use for displaying the arguments. May be larger than l_argumentsClass_ if the source is displayed when an 'add' method is used.


l_argumentsJPanel_

protected javax.swing.JPanel[] l_argumentsJPanel_
The JPanel array to use for displaying the arguments. May be larger than l_argumentsClass_ if the source is displayed when an 'add' method is used. An item may be null.


l_argumentsFromSelect_

protected java.lang.Boolean[] l_argumentsFromSelect_
The Boolean array to use for selecting or not the value, from the explorer or through a special dialog.


l_argumentsConcatening_

protected java.lang.Integer[] l_argumentsConcatening_
The Int array of the name arguments which are relative and are to concatenate with names from another arguments


l_nullArgumentPossible_

protected java.lang.Boolean[] l_nullArgumentPossible_
The Boolean array to allow or not a null argument.


l_optionalArguments_

protected java.lang.Boolean[] l_optionalArguments_
The Boolean array of optional argument. If true, do not use an argument in the constructor when this argument is null.


l_restrictedArguments_

protected java.lang.Boolean[] l_restrictedArguments_
The Boolean array of restricted argument. If true, allows only the restricted values.


l_nonVisibleArguments_

protected java.lang.Boolean[] l_nonVisibleArguments_
The Boolean array of non visible arguments. If true, the argument has to be not displayed and it is set to 'null' in the constructor. Non null only for constructors through the first valueOf().


l_restrictedFromOtherArgumentMessage_

protected java.lang.String[] l_restrictedFromOtherArgumentMessage_
The String array of user messages for restricted arguments. If not null, the message is displayed in the property editor at its opening. Exemple of value: 'ACS', and displayed message: . 'ACS' and 'Strength' are the two possible values.' Not null only for constructors through the first valueOf().


argIndex_

protected int argIndex_
The index in l_argumentsValues_ of the argument currently processed, between '0' and l_argumentsValues_.length - 1. Equal to '99' if no argument is processed.


objectToCopy_

protected Copyable objectToCopy_
The BaseObject instance to copy. Null if the copy method is not used.


l_displayNames_

protected java.lang.String[] l_displayNames_
The property names displayed in the panel.


onGoingCreationDialog_

protected boolean onGoingCreationDialog_
True when getBaseObjectEditor() has called DialogBox for entering the user choices, until the call back to handleCreationDialog().

Constructor Detail

BaseObjectHandler

private BaseObjectHandler()
Constructor FOR USING ONLY through the valueOf() methods.

Method Detail

valueOf

public static BaseObjectHandler valueOf(NewBaseObjectListener _caller,
                                        java.lang.Class _baseObjectClass)
First of the 3 valueOf methods, to create a new BaseObject through its CONSTRUCTOR, as it is described in the bean descriptor in the relevant BeanInfo class. Cannot create ACS and View instances. Called by SimplePropertyEditor, CollectionPropertyEditor.actionPerformed(), ActionNewEligibleParty, ActionNewResource. With this method, propertyDescriptor_ is always null.

Parameters:
_caller - of this method is a NewBaseObjectListener with a handleNewBaseObject() method that is called back after the instance creation. Cannot be null.
_baseObjectClass - is the class of the new instance of BaseObject to create. Used to find the right BeanInfo class. Cannot be null.
Returns:
the BaseObjectHandler instance with the correct initialization
Throws:
if - _caller is null or if _baseObjectClass is not correct

valueOf

public static BaseObjectHandler valueOf(AddRemoveBaseObjectListener _caller,
                                        java.beans.PropertyDescriptor _propertyDescriptor,
                                        java.lang.reflect.Method _addMethod)
Second of the 3 valueOf methods, to create a new BaseObject through an 'ADD' method which is described in a property descriptor. Intializes the 'add' method arguments to use for adding an instance to the collection in invoking a method on an another BaseObject instance. Cannot create ACS and View instances. On the contrary of the other valueOf methods, propertyDescriptor_ is not null, and the instance creation is done in _caller, not in this class. The object on which the creation is done is get with AddRemoveBaseObjectListener.getSource(). May control the add arguments values after the user choice of the ACS as argument, or if the ACS is defined and immutable. Called by CollectionPropertyEditor.addElement().

Parameters:
_caller - of this method is a AddRemoveBaseObjectListener with an handleAddBaseObject() method that is called before the instance creation. Cannot be null.
_propertyDescriptor - is the descriptor of the property to update through an 'add' method. Cannot be null.
_addMethod - is the source method to use for adding a new instance. Cannot be null.
Returns:
the BaseObjectHandler instance with the correct initialization

valueOf

public static BaseObjectHandler valueOf(NewBaseObjectListener _caller,
                                        Copyable _toCopy,
                                        Copyable _toCopy2)
Third of the 3 valueOf methods, to create a new BaseObject through the COPY method, as it is described in the bean descriptor of the relevant BeanInfo class. Cannot copy ACS and ViewInBase instances. Called by ActionCopy, which adds the last parameter as Boolean.TRUE for the copy method. With this method, propertyDescriptor_ is always null.

Parameters:
_caller - of this method is a NewBaseObjectListener with a handleNewBaseObject() method that is called when _toCopy has been copied. Cannot be null.
_toCopy - is the base object to copy. Cannot be an ACS or a ViewInBase, nor null.
_toCopy2 - is not used. Only to be different to the first valueOf method.
Returns:
the BaseObjectHandler instance with the correct initialization

commonValueOf

private static BaseObjectHandler commonValueOf(BaseObjectHandler _result,
                                               java.lang.Class _baseObjectClass,
                                               boolean _fromConstructor)
Sets most of the _result properties from its BeanInfo class. Called by the valueOf() methods.

Parameters:
_result - is the BaseObjectHandler to set up
_baseObjectClass - is the class of the new instance of BaseObject to create. Cannot be an ImmutableACS or an ImmutableView. Used to find the right BeanInfo class. Cannot be null.
_fromConstructor - true to build up the new object from its constructor, and false to do it from its copy
Returns:
the BaseObjectHandler instance with the correct initialization

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent _evt)
Manages the events fired by all the Select buttons in the JPanels which are created by getBaseObjectEditor(). Updates the correct panel when a base object is selected in the explorer, and displays the restricted values if any. The restricted values may be Strings or StringRights, and they may depend on the value of a previous argument (typically, an ACS selection, since the ACS policy may define them). No action for other events, for exemple from a ComboBox set in getArgumentEditor(). If the property is 'Upper Rights' for a StringRight, a dedicated method has to be called. If there is no rights to select, this method produces an error message to the user, and the creation process is ended through a call to the Cancel button on the parent JDialog.

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Parameters:
_evt - is the event fired by a JButton class

handleSelectionDialog

public void handleSelectionDialog(java.util.Map _validatedObjectsSetMap)
Called by DialogBox.showExplorerSelectionDialog() for actionPerformed(), when an argument is a BaseObject which has to be selected in the explorer. The right argument is found from the current value of argIndex_. If the acs has been selected, updates the argument editor for any string restricted argument, to take into account the value restrictions from the selected ACS. For aclentry addings only, after the selection of an acs for the aclentry, this method checks the ability of the selected acs to manage aclentries, displays an user message if not, and otherwise updates the restricted properties in comboboxes.

Specified by:
handleSelectionDialog in interface SelectionDialogListener
Parameters:
_validatedObjectsSetMap - with one element, where - the key is l_argumentsClass_[argIndex_], - the value is one selected object with the right type. May be null or empty if the user cancels the selection operation.

getBaseObjectEditor

public void getBaseObjectEditor()
Displays the arguments panels for creating the new BaseObject instance, then creates it after the user had entered all the values. Calls getBaseObjectEditor(new Object[1]).


getBaseObjectEditor

public void getBaseObjectEditor(java.lang.Object[] _l_knownValue)
This is the unique method to call on a BaseObjectHandler instance, which displays the arguments panels for creating the new BaseObject instance, then creates it after the user had entered all the values. This method is used whatever the valueOf method which has been invoked to build up the BaseObjectHandler instance. When a copy method is used, a last Boolean.TRUE argument is always added to the values which are entered by the user, following the copy() pattern. The typical arguments are then (ImmutableName _name, ACS _acs, Directory _parent, Boolean _toRegisterInManager) from the gBaseInterface.Copyable method. Calls getArgumentEditor() to build up the panel for each argument. Calls DialogBox.showBackedJPanelsList() to display the dialog window to the user, which calls back handleCreationDialog().

Parameters:
_l_knownValue - array of arguments for the object creation. They may be Booleans, Strings, ImmutableNames or BaseObjects, as arguments which has been chosen by the user before the call of this method. The value at the index 0 is the chosen value for the first argument, and so on. A value in the array is null if the argument for this index is not set in the BeanInfo. At the index equal or superior to the number of arguments, any fixed BaseObject may be put for displaying without taking it as an argument (typically, the source). So, the size of _l_knownValue may be inferior, or equal, or superior to the contructor arguments number. 4 is the number of arguments for the instance creation of most of the base objects, excepting for actors, executables and acsrights for which there are 7 arguments.

handleCreationDialog

public void handleCreationDialog(boolean _data)
After an user click on 'OK', reads the data entered by the user in the JPanels, and creates the new BaseObject. Called from DialogBox.showBackedJComponents() for getBaseObjectEditor(). Calls checkNullArguments(), then setRelativeArguments(), setFinalArguments(), and createBaseObject() at the end of operations. Calls finalizeForProcess() to finalize the BaseObjectHandler instance, whatever the result.

Specified by:
handleCreationDialog in interface CreationDialogListener
Parameters:
_data - true if the user has entered the data and false if the user has closed the dialog

getArgumentEditor

private javax.swing.JPanel getArgumentEditor(javax.swing.JPanel _result,
                                             java.lang.String _propertyName,
                                             boolean _isSelected,
                                             int _argIndex,
                                             boolean _isDefined,
                                             java.lang.Object _knownValue,
                                             ACSRun _acs)
Gets a graphical editor for an argument or for the source, when the type is a boolean, string, name, BaseObject (including StringRight), or a String list. It may display first a null-value editor, or an editor with a pre-defined value for the argument, or a comboBox of Strings. A button 'Select' is added at the right of the text, when: - a BaseObject has to be selected in the explorer, - or the type is a String list, and the list has to be selected from some restricted values. If the type is a String with restricted values, a comboBox is displayed. But the 'Select' button or the comboBox is displayed only if the rectricted values are known. For example, when the ACS defines the restriction and is not still choosen by the user for the new Base Object, a non-editable text is displayed: "". 'ACS' word, or any other word, is provided there by l_restrictedFromOtherArgumentMessage_. Called by getBaseObjectEditor(). Calls actionPeformed() when the button 'Select' is clicked on, and getBooleanEditor() for the booleans. Calls BaseUtilityImpl.getRestrictedValues(). Initializes l_displayNames_ with the property display name in most of the cases.

Parameters:
_result - is the returned JPanel.
_propertyName - of the argument. Never null. Has to be inferior to 50. If it is equals to "", returns an empty panel. This is not always the name displayed to the user in the panel.
_isSelected - true if the argument is selected in the explorer or through another mean which needs the 'Select' button.
_argIndex - is the index of the argument in all the argument list.
_isDefined - true when the argument has been chosen by the user before the call of this method.
_knownValue - of argument only if the argument is a String, an ImmutableName or a BaseObject (not Boolean), which has been chosen by the user before the call to this class. May be null if _isDefined is false.
_acs - is null when the method is called by getBaseObjectEditor() without knowledge of the acs, and non null when the acs is known or when it is called by handleSelectionDialog() after the selection of the acs by the user.
Returns:
JPanel to be displayed

getBooleanEditor

private javax.swing.JPanel getBooleanEditor(javax.swing.JPanel _result,
                                            java.lang.String _propertyName,
                                            int _argIndex,
                                            boolean _isDefined,
                                            java.lang.Object _knownValue,
                                            java.beans.PropertyDescriptor[] _l_propertyDescriptor,
                                            int _beanInfoIndex)
Gets a graphical editor for an argument or for the source, when the type is a boolean. Called by getArgumentEditor(). Calls actionPeformed() when the button 'Select' is clicked on. Calls BaseUtilityImpl.getRestrictedValues(). Initializes l_displayNames_ with the property display name in most of the cases.

Parameters:
_result - is the returned JPanel.
_propertyName - of the argument. Never null. Has to be inferior to 50. If it is equals to "", returns an empty panel. This is not always the name displayed to the user in the panel.
_argIndex - is the index of the argument in all the argument list.
_isDefined - true when the argument has been chosen by the user before the call of this method.
_knownValue - of argument only if the argument is a String, an ImmutableName or a BaseObject (not Boolean), that has been chosen by the user before the call to this class. May be null if _isDefined is false.
_l_propertyDescriptor - descriptors from the BeanInfo
_beanInfoIndex - index of the right PropertyDescriptor
Returns:
JPanel to be displayed

checkNullArguments

private boolean checkNullArguments()
Checks in l_argumentsJComponent_ if there is a null or empty argument while it is forbidden. If the checking is negative, a message is displayed to the user, this method returns 'FALSE' and the user should enter new arguments. Called by handleCreationDialog().

Returns:
true if ok

setRestrictedSelectedArguments

private void setRestrictedSelectedArguments()
                                     throws BaseError
Sets l_argumentsValues_ when an argument is a StringRight array argument in a combox, from a restricted set proposed to the user. Called by handleCreationDialog(). Calls StringRightImpl.getRightFromNameAsString() to get each StringRight, which requires to select the ACSRun from the value of caller_ directly when it is an ACSRun, or indirectly, through the ACS argument, when caller_ is an ACSObject.

If there are some rights to select but without user selection, the rights array is set to null, and there is no exception from the AclEntry or the Privilege.

Throws:
BaseError - if the convertion of String to StringRight does not work

setRelativeArguments

private void setRelativeArguments()
                           throws BaseError
Sets in l_argumentsValues_, from l_argumentsJComponent_, the right arguments to use, but without handling of the absolute names. Converts String in Integer if necessary. This is the complement of setRestrictedSelectedArguments() which processes only selected arguments never handled here. Caution: an empty JTextField returns through getText() the value "", not null. Called by handleCreationDialog().

Throws:
BaseError - if Convertion from String to Integer does not work

setFinalArguments

private void setFinalArguments()
Sets in l_argumentsValues_ the absolute arguments to use, through an analyse of the relative names to concatenate. The relative name is a String or an ImmutableName, and the argument to put as context is the name of a BaseObject. Caution: any change in this method should be also done in AssociateUtilityImpl.

See Also:
AssociateUtilityImpl.setFinalArgumentsForAssociateCreation(java.lang.Object[], java.beans.BeanDescriptor)

removeOptionalArguments

private void removeOptionalArguments()
Removes the null arguments which are optional, to select the right constructor. Based on 'optionalArgument' in the bean descriptor.


createBaseObject

private void createBaseObject()
Called by handleCreationDialog() to create the base object. Calls caller_.addOneBaseObject() if caller_ is a AddRemoveBaseObjectListener, or calls caller_.handleNewBaseObject() when caller_ is a NewBaseObjectListener. The test order is add method, then copy, then constructor method. The exception handling is extended to provide full information.


finalizeForProcess

private void finalizeForProcess()
Sets to null all the variables of the instance