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/ui/wizards/NewTypeWizardPage.java
ICompilationUnit parentCU= pack.createCompilationUnit(clName + ".java", packStatement, false, new SubProgressMonitor(monitor, 2)); 
			imports= new ImportsStructure(parentCU, prefOrder, threshold, false);
			
			String content= constructTypeStub(imports, lineDelimiter, parentCU);
			createdType= parentCU.createType(content, null, false, new SubProgressMonitor(monitor, 3));
		} else {
			IType enclosingType= getEnclosingType();
			
			
			
			IType workingCopy= (IType) EditorUtility.getWorkingCopy(enclosingType);
			if (workingCopy != null) {
				enclosingType= workingCopy;
			}
			ICompilationUnit parentCU= enclosingType.getCompilationUnit();
			imports= new ImportsStructure(parentCU, prefOrder, threshold, true);
			
			lineDelimiter= StubUtility.getLineDelimiterUsed(enclosingType);
			String content= constructTypeStub(imports, lineDelimiter, parentCU);
			IJavaElement[] elems= enclosingType.getChildren();
			IJavaElement sibling= elems.length > 0 ? elems[0] : null;
			
			createdType= enclosingType.createType(content, sibling, false, new SubProgressMonitor(monitor, 1));
		
			indent= StubUtility.getIndentUsed(enclosingType) + 1;
		}
		
		
		imports.create(!isInnerClass, new SubProgressMonitor(monitor, 1));