The intention of this framework is to allow developers to specify the pluming of object dependencies via a XML file (also as annotation coming soon!). Injection can be made both ways. Either via falcon generated objects or from existing objects feeding into falcon core. The following are the features that are (or intending) to be supported by falcon:
-Injection management via XML file.
-Support for JPA (Java Persistence API)
-Support webservices objects as part of the binding mechanism
-Injection management via annotation (yet to come)
-Support for POJO and EJB 3 (EJB support yet to come)
-Support for JSF (via sub project falconWeb)
-Eclipse IDE support (via sub project falconIDE)
The advanatge of Falcon is retirval of object in 2 simple line of code:
com.falcon.core.FalconRunner runner = FalconCoreFactory.getFalconRunner(<location of .fal file>); <object's class> pojoBean = (<object's class>) runner.getObject('<object name>');
It is also possible to add existing objects into the binding engine by adding an extra parameter in the getObject method:
<object's class> pojoBean = (<object's class>) runner.getObject('<object name>', <Set of existings objects>);
This can be useful if not all objects you have are not suitable for Falcon generation. And of course the 2 ways can be mixed and match with a single runner object
For now the best way (until I have time to write some documentation) learn falcon is to download the source and have a look at the unit tests (com.falcon.core.FalconRunnerTest). Also the specification of the dependency files @ (src\test\resources\testData).
Please let me know via the Tracker if you would like more documentation