Subject: Extending the Programming Model with @Support?


Let me give a short summary of findings so far:

1. Currently the (core) framework's full introspection validation covers
you (will emit a validation failure) in case you use one of the reserved
prefixes for a public method (hide, validate, ...) and you got something
wrong with it.

2. If your intent is to write a supporting-method, but you use the wrong
prefix like ('verify' instead of correct 'validate') or declare it other
than 'public', the framework will simply ignore your intent.

3. While not yet implemented, we could in principle allow reserved
prefixes to be used with Actions/Properties/Collections, as long as
these are explicitly annotated with @Action/@Property/@Collection.

// should be a valid action name, even though 'disable' is reserved
@Action public void disableUser(User user) {
..
}

4. Lets assume we introduce a new annotation @Model (name still open for
discussion), we then could use this as the semantic counterpart to
@Programmatic and provide a means to solve (2).

- @Programmatic ... to be ignored by the framework
- @Model ... NOT to be ignored by the framework

5. In order to have features like (4) just as an option, without
changing the framework's default behavior, we could provide these as
extensions to the framework. So everybody is free to choose whether to
use them.

6. The framework has a configuration option to either enforce use of
annotation @Action or not. The recommended setting is to turn this
enforcement on, because it allows to get rid of having to use
@Programmatic on other (public) methods, one wants to be ignored by the
framework. There is a consistency concern, in case we introduce a
@Model annotation: Would we also want to provide an option to enforce
it?

I want to leave the discussion open some more days, and I also would
like to encourage you to take the opportunity and tell us your personal
pain-points with the framework in general. Maybe we can address these
and take your feedback to improve the next release!

Cheers, Andi

On 2019/09/24 05:22:53, Brian K <[EMAIL PROTECTED]> wrote: