[forge-dev] [JBoss JIRA] Commented: (SEAMFORGE-79) When using the new-field command, the getters and setters should be separated from the field to make it more readable.

Paul Bakker (JIRA) jira-events at lists.jboss.org
Mon Mar 21 10:41:46 EDT 2011


    [ https://issues.jboss.org/browse/SEAMFORGE-79?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12589337#comment-12589337 ] 

Paul Bakker commented on SEAMFORGE-79:
--------------------------------------

Although it's a common approach to use some marker syntax it's very breakable. If someone edits the file by hand there's a good change that the marker syntax is removed or the file structure is inconsistent. That's the problem with generating code in user-editable files. 
The Spring Roo guys solved this by putting all generated code in AspectJ Inter Type Declarations. The cool thing about it is that all generated code is outside of files editable by users. I don't like the heavy dependency on AspectJ however, but isn't something similar possible for Forge? For more advanced scaffolding etc. an elegant solution is necessary too.

> When using the new-field command, the getters and setters should be separated from the field to make it more readable.
> ----------------------------------------------------------------------------------------------------------------------
>
>                 Key: SEAMFORGE-79
>                 URL: https://issues.jboss.org/browse/SEAMFORGE-79
>             Project: Seam Forge
>          Issue Type: Feature Request
>          Components: Brainstorming
>    Affects Versions: 1.0.0.Alpha1, 1.0.0.Alpha2, 1.0.0.Alpha3
>            Reporter: Pablo Martinez
>            Priority: Optional
>
> When using the new-field command, the getters and setters should be separated from the fields, to make the java class more readable after using seamforge.
> An idea is to separate every java class in 4 parts: Field block, Constructor block, Getter/Setter block and Method block, using some arbitrary sintax (for easy parsing maybe?), for example something like:
> {code}
> @Entity
> public class User {
>   /* [FIELDS] */
>   private int id;
>   private String username;
>   private String password;
>   /* [CONSTRUCTORS] */
>   public User() {
>   }
>   public User(String username, String password) {
>   }
>   /* [GETTERS/SETTERS] */
>   public String getUsername() {
>     return this.username;
>   }
>   public void setUsername(final String username) {
>     this.username = username;
>   }
>   //etc...
>   /* [METHODS] */
>   public void doSomething() { }
>   public boolean equals(User other) { return false; }
>   //etc...  
> }
> {code}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the forge-dev mailing list