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
Comments
Anonymous
June 13, 2006
JLCA 3.0 — это такое средство для конверсии кода Java в код C#, причём таким обрAnonymous
June 18, 2006
The comment has been removedAnonymous
June 02, 2009
PingBack from http://patiochairsite.info/story.php?id=30489Anonymous
June 13, 2009
PingBack from http://ebeanbagchair.info/story.php?id=161Anonymous
June 13, 2009
PingBack from http://fancyporchswing.info/story.php?id=2235Anonymous
June 17, 2009
PingBack from http://patiosetsite.info/story.php?id=718Anonymous
June 17, 2009
PingBack from http://patioumbrellasource.info/story.php?id=1729Anonymous
June 18, 2009
PingBack from http://patiocushionsource.info/story.php?id=668