teabot
teabot

Reputation: 15444

Code generation for composition using Eclipse

Effective Java, along with other sources suggest that we should consider using composition over inheritance. I have often found my self achieving such composition by using the Decorator pattern and implementing forwarding methods that delegate invocations to a wrapped object.

However, I often find myself writing many simple forwarding methods of the type:

public void myMethod(String name) {
    instance.myMethod(name);
}

Is there anyway of auto-generating these forwarding methods within Eclipse (3.4.x)?

Upvotes: 6

Views: 852

Answers (2)

Jeff Storey
Jeff Storey

Reputation: 57202

You could write a custom template (Window > Preferences > filter on "Template") that has a placeholder for the method name and parameter name.

Upvotes: 1

Jason Gritman
Jason Gritman

Reputation: 5311

In the Source menu choose "Generate Delegate Methods". It will give you a list of methods available on any of your fields that you can have the current object forward to.

Upvotes: 13

Related Questions