The idiomatic definition of effectors in Brooklyn requires setting up some naming conventions for various tings. One of these is the arguments to a method. In Java, compiled bytecode does not provide us with the symbol names for these arguments, so a method is uniquely determined by it's argument types and their order (and the return type) - that is, method(String a, Integer b)
and method(String x, Integer z)
are considered identical. This can be seen in many IDEs where Javadoc comments are not available on interfaces, and the method arguments are listed as arg0
, arg1
and so on.
In a Brooklyn effector declaration, we usually annotate each parameter with the @EffectorParam
annotation, which takes name
, description
and defaultValue
properties. These are defined as Strings, due to the restrictions inherent in the Java type annotation specification, which can cause problems for the defaultValue
property. The description
is normally a 'Sentence case' fr