void commit() throws IOException { if (wasCommitted() ) { return; } flush(true); File cur = getCurrentFile(); if (f.equals(cur)) { return; } if (f.exists() && !f.delete()) { throw new IOException("Cannot delete obsolete sigfile"); } cur.renameTo(f); shadowFile = null; }
private JavaFileObject createDelegate() { if (wasCommitted()) { delegate = Pair.<FileObjects.FileBase,Boolean>of( (FileObjects.FileBase)FileObjects.fileFileObject(f, getRootFile(getFile(), getPackage()), filter, encoding), Boolean.TRUE); } else if (wasFlushed()) { delegate = Pair.<FileObjects.FileBase,Boolean>of( (FileObjects.FileBase)FileObjects.fileFileObject(shadowFile, getRootFile(shadowFile, getPackage()), filter, encoding), Boolean.TRUE); } return delegate.first(); }