Looks cool. Only question I have is why the "G" prefix on annotations
other than GBean?
--jason
On Mar 30, 2008, at 2:55 PM, Gianny Damour <[EMAIL PROTECTED]
> wrote:
Hi,
I am working on the declaration of GBeanInfo via annotations.
This is an example GBean with all the possible annotations (note
that some annotation properties have default values so you do not
see all of them in the example):
@GBean(j2eeType="type", name="name")
@GPriority(priority=123)
public class MockGBean implements Runnable {
public MockGBean(@GParamAttribute(name = "name") String name,
@GParamReference(name = "Name") Runnable runnable) {
}
public void run() {
}
@GAttribute
public String getGetterAttribute() {
return null;
}
@GAttribute
public void setSetterAttribute(String value) {
}
@GReference
public void setSetterReference(Runnable value) {
}
}
Above annotations are in the package
org.apache.geronimo.gbean.annotations.
At the same time, I will add support for pluggable strategies to get
the GBeanInfo of a class. We will have two strategies: use
getGBeanInfo method, current approach; or introspect annotations,
the one I am working on. It will be possible to add additional
strategies, e.g. read a service descriptor file a la OpenEJB.
I will also replace the GBean instantiation code of GBeanInstance by
an ObjectRecipe (xbean-reflect class).
Let me know if you have any concerns about the above plan.
Thanks,
Gianny