I like the @Support annotation, not @Action, because validate is not an
action.

Most of my frustration on this front has been inadvertently creating a
supporting function.  like:
addChild(Child child){...}

Can these patterns be optional when the annotations are active?   Maybe a
isis.properties switch?

Thanks!
Brian

On Sun, Sep 22, 2019 at 3:19 AM Andi Huber <ahu...@apache.org> wrote:

> If we would not have the freedom of introducing a new annotation,
> @Action(type=Supporting)
> would be a good choice as well, but we also have supporting methods for
> Properties and Collections!
>
> But since we have @Action, @Property and @Collection all with good
> justification to stand and represent their own kind, we might as well
> introduce a new one here!?
>
> I was also thinking about @Model, which is a bit more generic and may
> allow for more flexible use later on.
>
> On 2019/09/22 08:47:20, "Rade, Joerg / Kuehne + Nagel / HAM GI-DP"
> <joerg.r...@kuehne-nagel.com> wrote:
> > Hi Andi,
> >
> > I like the idea of using an annotation, because it makes the programming
> model more consistent.
> >
> > Maybe @Action(type=Supporting) ?
> >
> > -j
> > -----Ursprüngliche Nachricht-----
> > Von: Andi Huber [mailto:ahu...@apache.org]
> > Gesendet: Sonntag, 22. September 2019 10:01
> > An: users@isis.apache.org
> > Betreff: Extending the Programming Model with @Support?
> >
> > Hi folks,
> >
> > we are still making progress towards Apache Isis Version 2. While most
> of the work goes into technical topics that stay under the hood, like
> decoupling from JDO, there are also some changes to the programming model,
> that will affect you and require migration of your domain-code.
> >
> > We have no concrete release plan yet, we thought maybe October for a
> preview, we'll see.
> >
> > Anyway I do have a questions regarding the programming model:
> >
> > Have you ever run into the issue of misspelling a supporting-method
> within your domain-code
> > eg. verifyMyAction(...) instead of correct validateMyAction(...) then
> spending some time to troubleshot this? What an inconvenience!
> >
> > My proposed solution to this is to introduce a new annotation to make a
> contract with the domain-model (meta-model) :
> >
> > @Action
> > public void myAction() {
> >
> > }
> >
> > @Support // <-- to enforce a contract with the domain-model
> > public boolean hideMyAction() {
> >     ...
> > }
> >
> > * The 'hideMyAction' method is termed 'supporting-method'. We have lots
> of variants of these. (validateX, disableX, ...)
> > * This contract allows for a check whether the intended
> supporting-method gets picked up by the framework and is not ignored. That
> way we can emit a validation failure, if a support-method is misspelled or
> does have any other deficiencies.
> > * The @Support annotation is optional, does not require you to migrate
> your domain-code.
> >
> > Do you like the concept? Should we use a better name for the annotation?
> Can we reuse/repurpose any existing annotation?
> >
> > Any thoughts?
> >
> > Cheers, Andi
> >
> > Kühne + Nagel (AG & Co.) KG
> > Rechtsform: Kommanditgesellschaft, Bremen HRA 21928, USt-IdNr.: DE
> 812773878.
> > Geschäftsleitung Kühne + Nagel (AG & Co.) KG: Holger Ketz (Vors. ),
> Martin Brinkmann, Lars-Olof Grün, Matthias Knicky, Nicholas Minde, Johannes
> Trimborn, Lars Wedel, Matthias Weiner.
> > Persönlich haftende Gesellschafterin: Kühne & Nagel A.G., Rechtsform:
> Aktiengesellschaft nach luxemburgischem Recht, HR-Nr.: B 18745,
> Geschäftsführendes Verwaltungsratsmitglied: Karl Gernandt.
> > Geschäftsleitung Region Europa: Dr. Hansjörg Rodi (Vors.), Mart Ambur,
> Tom Ban, Dominic Edmonds, Thierry Held, Uwe Hött, Richard Huhn, Jan-Hendrik
> Köstergarten, Heiko Schuhmacher.
> >
> > Wir arbeiten ausschließlich auf Grundlage der Allgemeinen Deutschen
> Spediteurbedingungen 2017 (ADSp 2017). Hinweis: Die ADSp 2017 weichen in
> Ziffer 23 hinsichtlich des Haftungshöchstbetrages für Güterschäden (§ 431
> HGB) vom Gesetz ab, indem sie die Haftung bei multimodalen Transporten
> unter Einschluss einer Seebeförderung und bei unbekanntem Schadenort auf 2
> SZR/kg und im Übrigen die Regelhaftung von 8,33 SZR/kg zusätzlich auf 1,25
> Millionen Euro je Schadenfall sowie 2,5 Millionen Euro je Schadenereignis,
> mindestens aber 2 SZR/kg, beschränken. Die ADSp sind auf unserer Webseite
> als Download erhältlich. Auf Anfrage senden wir Ihnen diese auch gerne zu.
> >
>

Reply via email to