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/AddGetterSetterAction.java
private ISelectionProvider fSelectionProvider;
	public AddGetterSetterAction(ISelectionProvider selProvider) {
		super(JavaUIMessages.getString("AddGetterSetterAction.label")); 
		setDescription(JavaUIMessages.getString("AddGetterSetterAction.description")); 
		setToolTipText(JavaUIMessages.getString("AddGetterSetterAction.tooltip")); 
		fSelectionProvider= selProvider;
		
		WorkbenchHelp.setHelp(this, IJavaHelpContextIds.GETTERSETTER_ACTION);
	}
				
	public void run() {
		IField[] fields= getSelectedFields();
		if (fields == null) {
			return;
		}
		
		try {
			ICompilationUnit cu= fields[0].getCompilationUnit();
			
			IEditorPart editor= EditorUtility.openInEditor(cu);
			
			ICompilationUnit workingCopyCU;
			IField[] workingCopyFields;
			if (cu.isWorkingCopy()) {
				workingCopyCU= cu;
				workingCopyFields= fields;
			} else {
				workingCopyCU= EditorUtility.getWorkingCopy(cu);
				if (workingCopyCU == null) {