JLCA3.0 – Java Beans


Java Beans are components that can be controlled dynamically and assembled to applications via visual components. However, they not only have visual uses but they could be used to implement non-visual components as well. They are mainly converted to .NET Framework through System.ComponentModel API and System.Windows.Forms.UserControl.


 


Principally, JLCA 3.0 conversion takes into account the following features of Java Beans - File Manifest.MF, Bean Classes (Visual and non-Visual), Descriptors Info (converted to the equivalent .NET Framework attributes for design-time), Properties (Bound and Indexed; Property Editors), Events, Inheritance Hierarchy and Persistence.


 


Table 6 and Table 7 below contain the relevant details for Java Beans conversion. In a summarized manner, they enunciate the Java Beans features preserved in the converted applications. On the other hand, they suggest the issues that the user should take care while converting application containing Java Beans.


 


Coverage Details
















































































Class / Interface in Package java.beans


Functionality


JLCA 3.0 Coverage


Description


AppletInitializer


Provides a proper initialization to invoke java.beans.Beans.instantiate method.


Not Converted


This kind of initialization is not necessary in .NET Framework.


BeanDescriptor


BeanInfo


EventSetDescriptor


IndexedPropertyDescriptor


MethodDescriptor


ParameterDescriptor


PropertyDescriptor


SimpleBeanInfo


Used within BeanInfo to provide information for design-time.


Not Converted


In .NET Framework, this kind of information is represented using attributes of System.ComponentModel.


The required information of these classes is converted based onBeanInfo’s source code.


Beans


This class initializes a JavaBean.


Not Converted


In .NET Frameowrk, this should be done like a normal construction of a type.


Customizer


This class provides a complete custom GUI for customizing a target Java Bean.


Not Converted


Controls in .NET Framework have the capacity to define a class using System.ComponentModel.DesignerAttribute for controlling the controls in Design-time, but the approach is different.


FeatureDescriptor


This class is the common baseclass for PropertyDescriptor, EventSetDescriptor, and MethodDescriptor, etc.


Partially Converted


The important methods of this class that are inherited by other descriptors are also converted.


Introspector


InstrospectionException


 


Provides a standard way for tools to learn about the properties, events and methods supported by a target Java Bean.


Not Converted


.NET Framework does not need more introspection than its normal reflection to extract the data or the corresponding exception.


PropertyChangeEvent


A "PropertyChange" event gets delivered whenever a bean changes a "bound" or "constrained" property.


Converted


Conversion maps to SupportClass.PropertyChangingEventArgs which extends from PropertyChangedEventArgs and provides properties used in constrained properties


PropertyChangeListener


VetoableChangeListener


Provides listener to bean’s PropertyChange Event.


Not Converted


The listener related to the PropertyChangeEvent is converted like any other event listener.


PropertyChangeSupport


Utility class used by beans that support bound properties.


Not Converted


In .NET Framework this is handled with += or -= operators through the PropertyChangeListener.


PropertyEditor


This class provides support for GUIs that want to allow users to edit a property value of a given type.


Partially Converted


The enumerations and text representations are converted through System.ComponentModel.TypeConverter. Custom representations are supported partially since automatic conversion to System.Drawing.Design.UITypeEditor cannot be generalized.


PropertyEditorManager


Associates an editor to a data type.


Not Converted


In .NET Framework this functionality supported with editors like TypeConverter or UITypeEditor, with the System.ComponentModel.TypeConverterAttribute or System.ComponentModel.EditorAttribute


PropertyVetoException


This exception is thrown when a proposed change to a property represents an unacceptable value.


Converted


The System.ArgumentOurOfRangeException is thrown when the value of an argument is outside the allowable range of values as defined by the invoked method.


VetoableChangeSupport


This is a utility class used by beans that support constrained properties.


Not Converted


.NET Framework can support the change of values in a property but not with the kind of restrictions provided by this class.


Visibility


Determines whether the component must be visually displayed.


Not Converted


This methodology does not apply in .NET Framework.


Table 6: Java Beans Conversion Coverage – Package java.beans


 


Issues




















Issue


Description


Bean Info Classes


Bean Info classes are analyzed to extract information and convert supported features. They are not converted since do not apply for the .NET Framework Component Model. The user can ignore the converted BeanInfo classes since their features are “converted” to .NET Framework model.


Bean’s Icons


Conversion of Icons used to represent Java Beans in tool boxes or list views is not supported.


A workaround could be to use the attribute System.Drawing.ToolboxBitmap.


Bean’s Unicast and Multicast Events


Conversion of setting the default event as Multicast is not converted. Setting event descriptors as Unicast is not supported too. A workaround can be to use the class attribute System.ComponentModel.DefaultEvent.


General Issues


And


Manifest Files


Conversion for Java Beans requires the respective Manifest File (META-INF\MANIFEST.MF) to reside inside the source code directory (or inside .jar files). It allows identify Java Bean and relative BeanInfo classes.


Table 7: Java Beans Conversion Issues


 


 

Skip to main content