6

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

Community
  • 1
  • 1
teabot
  • 15,358
  • 11
  • 64
  • 79

2 Answers2

13

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
  • 5,251
  • 4
  • 30
  • 38
1

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

Jeff Storey
  • 56,312
  • 72
  • 233
  • 406