Uploaded image for project: 'Causeway'
  1. Causeway
  2. CAUSEWAY-1509

[Wish] Extending Action Dialogs: new kind of Support Action to contribute to Action Parameters

Attach filesAttach ScreenshotAdd voteVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Wish
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 1.13.0
    • None
    • Viewer Wicket
    • None

    Description

      Factory Methods should be able to be identified as that.

      It could be useful, for example, when executing any action.

      For any param of any type, Apache Isis could offer the option to create a new instance by executing an action that both return that type and has been identified as a Factory Method.

      An example of defining a Factory Method could be:

      class Concert {
      
          @Action(factoryMethod=true)
          public Concert someAction() {
                return new Concert();
          }
      }
      

      from ISIS-1993:

      @Property(createRepository=Supplier.Repository.class, createAction="create")
      @Getter @Setter Party supplier;

      and

      public IncomingInvoice edit(
          @Parameter(createRepository=Supplier.Repository.class, createAction="create")
          Party supplier,
          ...
      ) {
         ...
      }

      to invoke a nominated action "in-situ".

      This could be bound to a keystroke, eg "F3"

      Attachments

        1. factory-methods.pptx
          59 kB
          Daniel Keir Haywood
        2. Slide1.PNG
          21 kB
          Daniel Keir Haywood
        3. Slide2.PNG
          26 kB
          Daniel Keir Haywood
        4. Slide3.PNG
          33 kB
          Daniel Keir Haywood

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            oscarbou Óscar Bou

            Dates

              Created:
              Updated:

              Slack

                Issue deployment