[forge-dev] Getting lost in UICommands class hierarchy

George Gastaldi ggastald at redhat.com
Mon Oct 27 08:35:01 EDT 2014


Hi Antonio,

Yeah, I think that's fine. The idea of having an interface is to 
reference the next command in the next() method (or as a prerequisite), 
but that is optional.
I think that would be a good idea, if these specializations had enough 
code to justify their existence.


On 10/27/2014 02:58 AM, Antonio Goncalves wrote:
> Hi all,
>
> I'm trying to add more commands in Forge... but I have to say, I'm a 
> bit lost. So, I've made a quick UML class diagram.
>
> As you can see in the attached diagram (UIForge.png), most of the Java 
> EE commands extend AbstractJavaEECommand, which makes sense. But not 
> all of them (NewBeanCommand (CDI), ValidationNewAnnotationCommandImpl, 
> NewQualifierCommand....). And some times you have an extra level of 
> abstraction (AbstractFacesCommand). Same for the Java commands. 
> JavaClassCommandImpl extend AbstractJavaSourceCommand but 
> JavaAddAnnotationCommand and JavaFieldCommand inherit from 
> AbstractProjectCommand.
>
>
> Then, when you dive into a command (UIForgeStructure.pgn), some 
> commands use interface and implementation (see in the second 
> diagram JavaAddAnnotationCommandImpl 
> implementing JavaAddAnnotationCommand), some don't 
> (e.g. NewQualifierCommand). Is there a reason ?
>
>
> Correct me if I'm wrong, but the way I see it would be (HowIseeIt.png) 
> : under AbstractJavaEECommand you have a set 
> of AbstractValidationCommand, AbstractCDICommand, AbstractJPACommand.... 
> each implementing PrerequisiteCommandsProvider (this way, each command 
> sets up its own pre-requisite). And then, under AbstractCDICommand you 
> have all the NewQualifierCommand, NewBeanCommand....
>
>
> What do you think ? Am I the only one getting a little bit lost ;o)
>
> What do you think of re-structuring the class hierarchy ?
>
> -- 
> Antonio Goncalves
> Software architect and Java Champion
>
> Web site <http://www.antoniogoncalves.org/> | Twitter 
> <http://twitter.com/agoncal> | LinkedIn 
> <http://www.linkedin.com/in/agoncal> | Paris JUG 
> <http://www.parisjug.org/> | Devoxx France <http://www.devoxx.fr/>
>
>
> _______________________________________________
> forge-dev mailing list
> forge-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/forge-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-dev/attachments/20141027/9ace1222/attachment.html 


More information about the forge-dev mailing list