Hello,

Antonio Goncalves pointed out in https://issues.jboss.org/browse/FORGE-2331 (also in https://issues.jboss.org/browse/FORGE-2469) that some input configurations could be reused.
For example, the targetPackage although is used in several commands, is initialized differently on some commands.

What would you think it would be a nice strategy to reuse UIInputComponents?

Based on Antonio's suggestions, I have elaborated 2 proposals:

1) Introduce specializations of UIInput:

Eg: @Inject private TargetPackage targetPackage;  (Where TargetPackage extends UIInput<String>)

More info here:https://gist.github.com/gastaldi/46b3f38bc38c5efcc0ba

2)  Move the component creation to utility classes:

eg: @Inject InputFactory factory;
and in the initializeUI of the UICommand:

targetPackage = factory.createTargetPackage(builder) ;

Of course, we could have a mix of both, but I would like to know your thoughts about each proposal.

Best Regards,

--
George Gastaldi | Senior Software Engineer

JBoss Forge Team
T: +55 11 3524-6169
M: +55 47 9711-1000