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:

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:

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.