This is not the current version (see [[projects:econet:materials:annotations]]) == frame == *Corresponding Java construct : One or more classes *Corresponding java annotation : *target class or interface @InComponent(annotation_source, name_of_the_component) == interface == *Corresponding java construct : one or more interfaces , or a set of methods from a class *Corresponding java annotations : *target class @provided(annotation_source, name_of_the_model_interface, name_of_the_java_interface) *target method @provided(annotation_source, name_of_the_model_interface) *target attribute @required(annotation_source, name_of_the_model_interface) things to think about later : (temp requirement passed as parameters ...) == "entry point" == *Corresponding java construct : The main class of a component *Corresponding java annotation : *target class @initclass(annotation_source, name_of_the_component) *target method @initmethod(annotation_source, name_of_the_component) Gilles: name_of_the_component seems redundant because the method or the class should already belong to a component ( see InComponent annotation) things to think about later: (consistency rules needed? is having several initclasses, methods in a component legal ? ) == Operation == Do we need it ? We already know methods from the provided annotation *Corresponding java construct : Method *Corresponding java annotation : *target method @ Business methods have to be singled out == Types == Goal: identify parameters of business methods Problem: String or int may be used as business object sometimes and sometimes not *Corresponding Java construct : class or interface *target Class or Interface @businessparametertype(annotation_source) *target method @businessparameter(annotation_source, parameter_name) (this one takes precedence over the previous one) things to think about later: another annotation could be for abstracting data : telling that an integer only has a few cases... Business Types have to be annotated. In some cases (library without accessible source code) they can't be, so a textual configuration file will be used to list them or to list non-business types. White list, black list, regular expressions over full name ?