views:

43

answers:

2

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)?

+5  A: 

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.

Jason Gritman
Excellent - just what I was looking for - thanks!
teabot
+1  A: 

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

Jeff Storey