*vim-java-delegate* Delegate Methods **************** *:JavaDelegate* Eclim supports generation of delegate methods via the :JavaDelegate command. To utilize this functionality you must first place the cursor on a global field (in the main source file class or within an inner class), and then invoke the :JavaDelegate command. In the following source, you can place the cursor anywhere starting from the first 'p' in private, to the trailing semicolon, and then invoke the :JavaDelegate command. > private List myList; < Invoking this command with the cursor on some other source element will generate the appropriate error. Once successfully invoked, the result will be the opening of a lower window with all the methods that may be inserted that will delegate to the value of the field. Here is a section of the content displayed when invoking the command on a field of type java.util.List like the one above. > com.test.TestList package java.util; public interface List public abstract int size () public abstract boolean isEmpty () public abstract boolean contains (Object o) public abstract Object[] toArray () ... < From this newly opened window you can select a method by simply hitting with the cursor over the method signature and a delegate method will be created. For example, if you hit on the size() method, then the following code will be inserted. > /** */ public int size () { return myList.size(); } < If you would like to generate delegate methods for all methods in an interface or class, then simply hit with the cursor over the class name, and delegate methods will be created for each method in that interface or class. Note: The insertion of method stubs is done externally with Eclipse and with that comes a couple caveats (|vim-issues|). This functionality is currently supported for both outer and inner classes, but not for anonymous inner classes. vim:ft=eclimhelp