By: Antonio Vázquez Araújo
THE AUTHOR
Hi. I am Antonio Araujo, from Ourense, Spain. I am
a C, Clipper, FoxPro, C++, and Java (in this chronological order) programmer.
I wrote programs since 1984. I am teaching computing in a private school,
and writing programs for enterprises, and now, at last, for me.
BEanACTION is my personal project for 3 years, and I believe in it.
I think is an original idea, and can be an useful tool for programmers
and assemblers. Also for learning Java, because you can see any object
internally without writing any code, and make it work.
I am a Linux enthusiast, and this is what make me to put the
project in open source, I believe in that philosophy.
I am also a medium-level guitar player, since 1980 (non stop learning
:-).
I love the simplicity. This page can be seen better with... any browser!
Yes, my english can be better, but i need my time (to learn more guitar!)
You can contact me for personal questions at antoniovazquezaraujo at gmail dot com
THE PROGRAM
BEanACTION is a recursive javabeans editor
that is able to manage collections of objects, aggregations,
methods, arrays, implementors, etc. You can assemble an
application and serialize it without writing a single bit of java code.
Is, basically, an objects tree. It let you construct any object, selecting
the constructor type and his parameters. Once constructed, the object display
all of his properties, and permits you to edit them.
Also you can construct multidimensional arrays of objects without
dimension limit.
What is more interesting is that, is that you can substitute the internal
objects from an object with other objects from the trees and, when you
are looking for an object, you see only objects of that class, and his
subclasses hierarchy. If you are looking for an interface implementor,
you see only implementors of that interface and his subinterfaces hierarchy.
With this tecnique, the user can substitute parts of an object on a consistent
and easy mode.
The objects tree is divided in three, a classes tree, with the objects
created, an interfaces tree, whith the implementors, and the actions tree.
You can create actions (basically java methods) that you can invoke, and
use the value returned, if you need it. Also, you can create collections,
and add and remove objects simply. All that without writing a line of code!
The BEanACTION purpose is that anybody
can use java objects, even primitive data, probe it, invoke his methods,
display it in screen, save it to disk, and at last, assemble complete applications
without writing Java code.
The license is GPL
.You can help in the development.
S
TATUS
This is the second beta version. Now, (December, 21, 1999) I am
working hard to document the code, but this is a dificult thing for me
:-). The changes respect to the first are mainly support for multidimensional
arrays, terrific interface simplification, and elimination of some bugs.
Future: From the beta1, the future plans have changed. The most important
is documentation and to find volunteers. I NEED
HELP!!!
If you understand the code, even if not, please, you can help me,
translating, documenting, painting icons, finding bugs or giving me ideas or
opinions. Contact with me at antoniovazquezaraujo at gmail dot com.
BEanACTION Mini-help
-
You have 3 trees of objects:
-
The objects tree for objects, primitive wrappers, actions returning objects,
arrays and collections. Ordered by class, but an array is in the branch
of his elements class, and also a collection. (I have an special interface
called TypedCollection, with one method Class getComponentType() if you
need a collection limited to one class and his derivated classes)
-
The interfaces tree, for interface implementors. Ordered by interface.
Of course, an object will be in the objects tree and in all the branches
of interfaces tree that implements.
-
The actions tree. For actions returning objects, and void. I treat Void
like a class here.
-
When you click on an object, you can see in the right panel all his properties,
grouped by ancestor. All the fields have a two elements representation:
a linking label and the object component. When you click on the linking
label you can link, selecting from the corresponding tree, other object
of the same class, or a derivated. In collections and arrays, the first
click serves only for selecting, the second is for linking.
-
I am trying to eliminate all the infamous "Ok"-"Cancel" buttons from the
program. In BEanACTION, green right arrow mean "Yes, ok, all right, continue,
come on..." and a red left arrow mean "No, oh no!, please NO, back, cancel,
etc". This is like in browsers.
-
In collections, you can add objects with a green plus sign icon. In earlier
versions, I have also a red minus icon to delete objects. But now I think
that is more intuitive to link the object and select the central null icon.
-
When you need to add an item to the sistem, click in the plus icon, and
write the class name. Any class in your environment. When you press the
enter key you will see all the constructors and methods of this class and
his ancestors. Select all you need and click on the green arrow. You return
to the tree, with all the selected methods added in it.
-
When you need to link an object ( substitute it with another from the trees),
if that class is not on the tree, BEanACTION make it for you, with the
constructors from the class and an special array constructor. All you need
is to create the objects you need and click on the green arrow.
SCREEN SHOTS
Selecting methods
Loading method parameters
A JButton array in action
A HashSet with 3 JButtons in
Your first killer app
THE SOURCE CODE
CVS
repository