Bug 171023

Summary: [source generation] generate default implementation of iface/abstract class refactoring
Product: [Eclipse Project] JDT Reporter: Benno Baumgartner <benno.baumgartner>
Component: UIAssignee: JDT-UI-Inbox <jdt-ui-inbox>
Status: ASSIGNED --- QA Contact:
Severity: enhancement    
Priority: P3    
Version: 3.3   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Benno Baumgartner CLA 2007-01-19 05:16:47 EST
I20061102-1715

Given an abstract class or interface like:

public abstract class AuditRuleProvider {
  public abstract String getLabel();
  public abstract String getDescription();
  public abstract String getHelp();
}

I would like to have a refactoring called 'Generate Default Implementation' or so. The outcome of the refactoring would be something like:

public class DefaultAuditRuleProvider extends AuditRuleProvider {
  private final String fLabel;
  private final String fDescription;
  private final String fHelp;

  public DefaultAuditRuleProvider(String label, String description, String help) {
    super();
    fLabel= label;
    fDescription= description;
    fHelp= help;
  }

  public String getLabel() {
    return fLabel;
  }
  public String getDescription() {
    return fDescription;
  }
  public String getHelp() {
    return fHelp; 
  }
}

At the moment I write the fields from hand, then Generate Getter/Setters, then Generate Constructor using fields.