Rolling your own lombok plugin to produce builder pattern style stuff
is trivial.

On Oct 12, 9:42 pm, B Smith-Mannschott <[email protected]> wrote:
> OK, so we've established that neither Eclipse nor Lombok will do what
> the OP needs.  Are there any other alternatives?
>
> I found myself needing something very similar only last week. In my
> case, it was for a simple immutable value type (using Lombok's
> lovely @Data) to which I wanted to add fluent builder style methods,
> e.g.:
>
> @Data
> class Node {
>   private final float x;
>   private final float y;
>   // Lombok generates getX(), getY(), but not setX(), setY()
>   //   because x, y are final.
>   // Lombok generates Node(float x, float y) constructor
>   //   since x and y are final.
>   Node withX(float x) {
>     return new Node(x, y);
>   }
>   Node withY(float y) {
>     return new Node(x, y);
>   }
>
> }
>
> I ended up firing up emacs and defining a ad-hoc keyboard macro
> to grind out the code for me. Yea! More boilerplate for the next
> developer to wade through! huzzah!
>
> How difficult would it be for someone inexperienced with Lombok's
> internals to add something like this?
>
> Stuff like this is why I'm glad there's more than just Java on the
> JVM. For example, a Lisp (like Clojure) makes this kind of code
> generation drudgery easy via its civilized [1] macro support.
>
> [1] where uncivilized == the C preprocessor.
>
> // Ben
>
>
>
>
>
>
>
> On Tue, Oct 12, 2010 at 18:27, Reinier Zwitserloot <[email protected]> wrote:
> > project lombok can do this without cluttering up your code:
> >http://projectlombok.org/(disclaimer: I'm a lombok developer). It
> > works in both eclipse and netbeans (and the command line).
>
> > Eclipse has built in support to generate these (in the source menu,
> > "generate getters/setters"). I'm fairly sure netbeans has something
> > similar, no plugins required. They do actually stick text in your
> > source files that you then have to maintain, though, unlike Lombok.
>
> > As far as I know none of these generate the 'return this' style
> > setter, because that style of setter does not adhere to the bean
> > standard.
>
> > On Oct 12, 5:22 pm, Peter A Pilgrim <[email protected]> wrote:
> >> Hi Everyone
>
> >> May be even Tor can help.
>
> >> Has anyone come across a name value pattern plugin for NetBeans or
> >> Eclipse IDE?
> >> Given a class like this:
>
> >> class Node {
> >>      private float x;
> >>      private float y;
> >>      private float z;
>
> >> }
>
> >> The plugin generates the accessors and builder chain mutators
>
> >> class Node {
> >>      private float x;
> >>      private float y;
> >>      private float z;
>
> >>      public float getX() { return x; }
> >>      public Node setX( float x ) { this.x = x; return this }
> >>      public float getY() { return x; }
> >>      public Node setY( float y ) { this.y = y; return this }
> >>      public float getZ() { return z; }
> >>      public Node setZ( float z ) { this.z = z; return this }
>
> >> }
>
> >> TIA
>
> > --
> > You received this message because you are subscribed to the Google Groups 
> > "The Java Posse" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to 
> > [email protected].
> > For more options, visit this group 
> > athttp://groups.google.com/group/javaposse?hl=en.

-- 
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en.

Reply via email to