Hi Sebastien.

On Sat, Jan 9, 2016 at 9:01 PM, <[email protected]> wrote:

> Repository: wicket
> Updated Branches:
>   refs/heads/master e72ed7e22 -> 2e36671c6
>
>
> WICKET-6070 Provide factory methods for WizardButtonBar buttons
>
>
> Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
> Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/2e36671c
> Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/2e36671c
> Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/2e36671c
>
> Branch: refs/heads/master
> Commit: 2e36671c683e1a759d993369253672518a9c2882
> Parents: e72ed7e
> Author: Sebastien <[email protected]>
> Authored: Sat Jan 9 20:32:49 2016 +0100
> Committer: Sebastien <[email protected]>
> Committed: Sat Jan 9 20:33:27 2016 +0100
>
> ----------------------------------------------------------------------
>  .../extensions/wizard/WizardButtonBar.java      | 70 ++++++++++++++++++--
>  1 file changed, 65 insertions(+), 5 deletions(-)
> ----------------------------------------------------------------------
>
>
>
> http://git-wip-us.apache.org/repos/asf/wicket/blob/2e36671c/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/WizardButtonBar.java
> ----------------------------------------------------------------------
> diff --git
> a/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/WizardButtonBar.java
> b/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/WizardButtonBar.java
> index a3b77db..b9d586b 100644
> ---
> a/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/WizardButtonBar.java
> +++
> b/wicket-extensions/src/main/java/org/apache/wicket/extensions/wizard/WizardButtonBar.java
> @@ -46,11 +46,11 @@ public class WizardButtonBar extends Panel implements
> IDefaultButtonProvider
>         public WizardButtonBar(final String id, final IWizard wizard)
>         {
>                 super(id);
> -               add(new PreviousButton("previous", wizard));
> -               add(new NextButton("next", wizard));
> -               add(new LastButton("last", wizard));
> -               add(new CancelButton("cancel", wizard));
> -               add(new FinishButton("finish", wizard));
> +               add(newPreviousButton("previous", wizard));
> +               add(newNextButton("next", wizard));
> +               add(newLastButton("last", wizard));
> +               add(newCancelButton("cancel", wizard));
> +               add(newFinishButton("finish", wizard));
>

Usually it is a bad practice to expose overridable methods which are called
before the full construction of the object.
Is it OK to move all those calls to #onInitialize() ?


>         }
>
>         /**
> @@ -73,4 +73,64 @@ public class WizardButtonBar extends Panel implements
> IDefaultButtonProvider
>                 }
>                 return null;
>         }
> +
> +       /**
> +        * Creates a new {@link PreviousButton}
> +        *
> +        * @param id the button's markup-id
> +        * @param wizard the {@link IWizard}
> +        * @return a new {@code PreviousButton}
> +        */
> +       protected PreviousButton newPreviousButton(final String id, final
> IWizard wizard)
> +       {
> +               return new PreviousButton(id, wizard);
> +       }
> +
> +       /**
> +        * Creates a new {@link NextButton}
> +        *
> +        * @param id the button's markup-id
> +        * @param wizard the {@link IWizard}
> +        * @return a new {@code NextButton}
> +        */
> +       protected NextButton newNextButton(final String id, final IWizard
> wizard)
> +       {
> +               return new NextButton(id, wizard);
> +       }
> +
> +       /**
> +        * Creates a new {@link LastButton}
> +        *
> +        * @param id the button's markup-id
> +        * @param wizard the {@link IWizard}
> +        * @return a new {@code LastButton}
> +        */
> +       protected LastButton newLastButton(final String id, final IWizard
> wizard)
> +       {
> +               return new LastButton(id, wizard);
> +       }
> +
> +       /**
> +        * Creates a new {@link CancelButton}
> +        *
> +        * @param id the button's markup-id
> +        * @param wizard the {@link IWizard}
> +        * @return a new {@code CancelButton}
> +        */
> +       protected CancelButton newCancelButton(final String id, final
> IWizard wizard)
> +       {
> +               return new CancelButton(id, wizard);
> +       }
> +
> +       /**
> +        * Creates a new {@link FinishButton}
> +        *
> +        * @param id the button's markup-id
> +        * @param wizard the {@link IWizard}
> +        * @return a new {@code FinishButton}
> +        */
> +       protected FinishButton newFinishButton(final String id, final
> IWizard wizard)
> +       {
> +               return new FinishButton(id, wizard);
> +       }
>  }
>
>

Reply via email to