|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Class Summary | |
---|---|
AclEntryImplBeanInfo | This class is responsible for describing the AclEntryImpl class. |
ACSFactoryImplBeanInfo | This class is responsible for describing the ACSFactoryImpl class. |
ACSImplBeanInfo | This class is responsible for describing the ACSImpl class. |
ACSpreFactoryImplBeanInfo | This class is responsible for editing the first properties of a ACSFactoryImpl instance. |
ActorImplBeanInfo | This class is responsible for describing the ActorImpl class. |
BasicImplBeanInfo | This class is responsible for describing the BasicImpl class. |
DirectoryImplBeanInfo | This class is responsible for describing the DirectoryImpl class. |
EligiblePartyImplBeanInfo | This class is responsible for describing the EligiblePartyImpl class. |
EPRViewInBaseImplBeanInfo | This class is responsible for describing the EPRViewInBaseImpl class. |
GroupIDImplBeanInfo | This class is responsible for describing the GroupIDImpl class. |
GroupIDMemberImplBeanInfo | This class is responsible for describing the GroupIDMemberImpl class. |
ISAcsBeanInfo | This class is responsible for describing the ACS node in a nameISTree to display in the GUI. |
ISComponentBeanInfo | This class is responsible for describing the component node in a nameISTree to display in the GUI. |
ISCompositeBeanInfo | This class is responsible for describing the composite node in a nameISTree to display in the GUI. |
ISStructureRootBeanInfo | This class is responsible for describing the IS structure root to display in the GUI. |
ISSubACSBeanInfo | This class is responsible for describing the subACS node in a nameISTree to display in the GUI. |
NoThanViewInBaseImplBeanInfo | This class is responsible for describing the NoThanViewInBaseImpl class. |
PrivilegeForLinksImplBeanInfo | This class is responsible for describing the PrivilegeForLinksImpl class. |
PrivilegeForTypeImplBeanInfo | This class is responsible for describing the PrivilegeForTypeImpl class. |
ResourceImplBeanInfo | This class is responsible for describing the ResourceImpl class. |
StringMetaRightImplBeanInfo | This class is responsible for describing the StringMetaRightImpl class. |
StringRightImplBeanInfo | This class is responsible for describing the StringRightImpl class. |
UserIDImplBeanInfo | This class is responsible for describing the UserIDImpl class. |
ViewInBaseImplBeanInfo | This class is responsible for describing the ViewInBaseImpl class. |
VirtualFolderImplBeanInfo | This class is responsible for describing the VirtualFolderImpl class. |
Contains the classes applying an extended JavaBean framework, so-called the BeanInfoPattern, to define how to handle the generic gBase objects in the GUI. This framework covers the display of each property of the base object in the right GUI editor, and the policy to create, edit and delete the property. This package is used mainly by the GUI2 classes, but also by gDMak.ActionNewACSyst to create an ACS. The following description is about the BeanInfoPattern framework. BeanInfoPattern is also an interface in ARoad0.Pattern. It contains methods every class in this gBaseBeanInfo has to implemente. This interface defines the manager which is responsible to handle the property change when the gBase object is closed or deleted.
The bean descriptor is get through the BeanInfo.getCommonBeanDescriptor() method. It contains some BeanInfoPattern values that are necessary to ARoad0.Gui1.BeamerManager and to ARoad0.Gui1.BaseObjectHandler:
'withTabbedPanes' is true when several tabbed panes are necessary to display all the panels (property, value),
'withDeleteMethod' is true to display the 'delete' button in the beamer,
'commonBeanClass' is the class which has the bean info defining getCommonBeanDescriptor(), and then which is the class or the superclass of the bean,
'constrArgumentClasses' is the list of argument classes for the class constructor,
'constrArgumentPropertyNames' is the list of property names for the class constructor,
'constrArgumentConcatenedNameSource' indicates, when an argument is entered by the user as a relative name which has then to be concatenate to another constructor argument, what is this another argument which provides the first part of the name if it is not null. The relative name is an ImmutableName or a String,
'constrNullArgumentPossible' indicates if an argument may be null in the constructor,
'constrOptionalArgument' indicates if an argument must not be used in the call to the constructor when it is null,
'constrRestrictedArgument' indicates if an argument is restricted to some specified values, which are strings or BaseObject names; it is optional; if it is true, the array of restricted values for an argument is searched through BaseUtilityImpl.getRestrictedValues(): 1/ in 3 ACS maps which define the constraints from the ACS, and then "constrArgumentPropertyNames" must contain the property descriptor name; 2/ in the value "staticSetOfItems" of the property in this BeanInfo,
'constrNonVisibleArgument' indicates if an argument is masqued in the constructor window and sets to null in the constructor; true when the ACS does not manage the property, and then, this value gets the name of the ACS method which returns a boolean 'false' when the argument has to be null and to be not displayed; if the returned value is 'true', the argument is displayed as usual; for each non null value, 'constrNullArgumentPossible' has to be Boolean.TRUE, and 'constrOptionalArgument' has to be Boolean.FALSE.
The property descriptors in the gBaseBeanInfo package is get through the java.beans.BeanInfo.getPropertyDescriptors() method. A property descriptor constructor requires 4 arguments: the property name, the object class, the 'get' method name, the 'set' method name (if any). The property name has to be the name of the property change event in the object class. A property may not be displayed in the beamer if BeamerManager detects it does not comply with the ACS structure or policies. This is why it is possible to have a constructor property the beamer does not show. If the display name is "", the property name is not displayed while the property itself is visible. The 'set' method may be replaced by an adding and/or a removing method, which is then set as a BeanInfoPattern value presented hereinafter. It is also possible, for creating a new complex object, to invoke a class and a method of the GUI packages like ARoad0.gGMak. This is used for creating a Resource or an EligibleParty, while the ACSs and the ViewInBases are never created through the BeanInfoPattern framework. The varied ARoad0.Gui1.PropertyEditors are responsible to display a property as a String field, a checked box, a list or a map. A title and some buttons may be included in the displaying, and there is a standard look-and-feel for all these editors. The property descriptor contains some BeanInfoPattern values that are necessary to ARoad0.Gui1.BaseObjectHandler or to some ARoad0.Gui1.PropertyEditors.
The BeanInfoPattern values to set in a given property descriptor are:
'tabbedPaneName' is the name (String value) of the pane where this property has to be displayed,
'panelGroupName' is the name (String value) of the group where this property has to be displayed with other related properties; may be empty,
'isCollection' is true when the right property editor is CollectionPropertyEditor, and is false otherwise; the default editor is SimplePropertyEditor,
'valueTypeInGroup' is not null only when the property is a collection or a map; then, the value is the type of the values in the collection or in the map,
'withPreviousButton', 'withViewButton', 'withSelectButton', 'withNewButton', 'withDeleteButton', 'withRemoveButton', 'withClearButton', 'withNewVButton', 'withDeletVButton' are the 9 independant booleans which set if the editor has to display these 9 buttons; some ones are used only in one property editor class,
'staticSetOfItems' is the array of possible immutable values for the property; the type of the array has to be the type of the returned elements in the 'get' property method; this value is not ridden if the ACS applies its proper constraints on the property values,
'choiceMethodForNew' defines a specific couple instance/method to invoke to let the user defines the new restricted key, in a map, or the new instance, typically to choose a sub-class of the property class or to select among the restricted values; with 'withKnownArgumentsForNew', the specific method is used even if there is an add method or a write method; with 'isRestrictedArgument', and only if 'staticSetOfItems' is null, the specific method is used to get the restricted String values; the value is an array of two Objects; the instance to invoke, or null if it is the source, and the name of the method (for instance, ActionNewResource.getInstance(), "createResource"); the method have no argument and returns an array String, a List or a Set of Strings,
'addMethod' defines the 'add' method to invoke on the object for the property; the returned value defines the name of the add method used both for defining a new key and some new rights for an existing key; these elements allow the PropertyEditor to display a window to create all the required arguments and to call the 'add' method of the property,
'removeMethod' defines the 'remove' method for an element of the property; the removeMethod arguments are the addMethod arguments; these elements allow the PropertyEditor to call the remove method of the property, both for removing a key and then all its values, or for removing some values of a key,
'withKnownArgumentsForNew' allows to define the constructor arguments which has to be constrained - with 'choiceMethodForNew' or not, add method or not - when a new instance is created through the 'New' button; the first case is for the immutable argument: the string 'this' is used to point to the object in the beamer, but this object is not get as argument if the 'this' index in the array is after the last specified argument for the constructor or the add method; the second case is to search the right property descriptor of the object in the beamer, and to call the read method to initialize a l_fixedValue from this object; caution: if 'choiceMethodForNew' exists, then the constrained arguments are applied to the constructor even if the type of the new instance is not the type of the property (for exemple, the children of a Directory); caution: the known arguments have to be Objects,
'isRestrictedArgument' is true if it is a constrained key that is not in the constructor; else, see 'constrRestrictedArgument' in the bean descriptor,
'restrictedKeyForSpecializedRight' indicates if the property is restricted to some specified values for the map key of some ACS specialized rights,
'limitedValuesMethod' is the array of possible values for each possible key which is defined in 'staticSetOfItems' for the property, or for the static key set by 'limitedValuesMethodKey' if it is defined (only for the first value); it is an equivallent to 'isRestrictedArgument' for the allowed keys; the type of the array has to be the type of the returned elements for the values in the 'get' property method,
'MaxValueSize' is the maximal size of the values list for each map key,
'limitedSizeForPresentation' is the maximal size of the visible map or list in the beamer,
'horizontalTextPositionToLeft' is the boolean which is set if the PropertyEditor has to display the values from the left; the Right position is the default value.
'withoutListSorting' is the boolean which forbids, if true, the sorting of the displayed array by the CollectionPropertyEditor, using Object.compareTo().
Ease-of-use: high. The package is well structured following the gBase classes, and the description of each property handling is well documented.
Reliability: high. All the execution paths have been well tested.
|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |