Bug 14368 Create getter and setter insert code into read-only file
1. Create a class C as follow: package jp1; public class C { private int id; } 2. Close it and mark it as read only 3. Reopen it and you should not be able to modify anything 4. From the outline view, select "id - int" and right mouse click and select "Create getter and setter". 5. The class becomes package jp1; public class C { private int id; /** * Gets the id. * @return Returns a int */ public int getId() { return id; } /** * Sets the id. * @param id The id to set */ public void setId(int id) { this.id = id; } } and the editor is dirty, but you cannot save it until clear the read-only flag.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/actions/AddMethodStubAction.java
private ISelection fSelection;
	private IType fParentType;
	public AddMethodStubAction() {
		super(JavaUIMessages.getString("AddMethodStubAction.label")); 
		setDescription(JavaUIMessages.getString("AddMethodStubAction.description")); 
		setToolTipText(JavaUIMessages.getString("AddMethodStubAction.tooltip")); 
		
		WorkbenchHelp.setHelp(this, IJavaHelpContextIds.ADD_METHODSTUB_ACTION);		
	}
	
	public boolean init(IType parentType, ISelection selection) {
		if (canActionBeAdded(parentType, selection)) {
			fParentType= parentType;
			fSelection= selection;
			if (parentType != null) {
				try {
					if (parentType.isInterface()) {
						setText(JavaUIMessages.getFormattedString("AddMethodStubAction.detailed.implement", parentType.getElementName())); 
					} else {
						setText(JavaUIMessages.getFormattedString("AddMethodStubAction.detailed.override", parentType.getElementName())); 
					}
				} catch (JavaModelException e) {
					JavaPlugin.log(e);
				}
			} else {
				setText(JavaUIMessages.getString("AddMethodStubAction.label")); 
			}
			return true;
		}