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/AddJavaDocStubAction.java
import org.eclipse.jdt.core.IMember;
import org.eclipse.jdt.core.IMethod;
import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.internal.corext.codemanipulation.AddJavaDocStubOperation;
import org.eclipse.jdt.internal.corext.codemanipulation.CodeGenerationSettings;
import org.eclipse.jdt.internal.corext.util.JavaModelUtil;
import org.eclipse.jdt.internal.ui.JavaPlugin;
import org.eclipse.jdt.internal.ui.JavaUIMessages;
import org.eclipse.jdt.internal.ui.javaeditor.EditorUtility;
import org.eclipse.jdt.internal.ui.preferences.JavaPreferencesSettings;
/**
 * Create Java Doc Stubs for selected members
 * Always forces the he field to be in an open editor. The result is unsaved,
 * so the user can decide if he wnats to accept the changes
 * 
 * @deprecated Use action from package org.eclipse.jdt.ui.actions
 */
public class AddJavaDocStubAction extends Action {
	private ISelectionProvider fSelectionProvider;
	public AddJavaDocStubAction(ISelectionProvider selProvider) {
		super(JavaUIMessages.getString("AddJavaDocStubAction.label")); 
		setDescription(JavaUIMessages.getString("AddJavaDocStubAction.description")); 
		setToolTipText(JavaUIMessages.getString("AddJavaDocStubAction.tooltip")); 
		fSelectionProvider= selProvider;
	}
	public void run() {
		IMember[] members= getSelectedMembers();
		if (members == null || members.length == 0) {
			return;
		}