< prev index next >
jaxws/src/jdk.xml.bind/share/classes/com/sun/codemodel/internal/writer/FileCodeWriter.java
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
@@ -48,11 +48,11 @@
/** specify whether or not to mark the generated files read-only */
private final boolean readOnly;
/** Files that shall be marked as read only. */
- private final Set<File> readonlyFiles = new HashSet<File>();
+ private final Set<File> readonlyFiles = new HashSet<>();
public FileCodeWriter( File target ) throws IOException {
this(target,false);
}
@@ -70,17 +70,18 @@
this.encoding = encoding;
if(!target.exists() || !target.isDirectory())
throw new IOException(target + ": non-existent directory");
}
+ @Override
public OutputStream openBinary(JPackage pkg, String fileName) throws IOException {
return new FileOutputStream(getFile(pkg,fileName));
}
protected File getFile(JPackage pkg, String fileName ) throws IOException {
File dir;
- if(pkg.isUnnamed())
+ if(pkg == null || pkg.isUnnamed())
dir = target;
else
dir = new File(target, toDirName(pkg));
if(!dir.exists()) dir.mkdirs();
@@ -95,10 +96,11 @@
if(readOnly) readonlyFiles.add(fn);
return fn;
}
+ @Override
public void close() throws IOException {
// mark files as read-onnly if necessary
for (File f : readonlyFiles)
f.setReadOnly();
}
< prev index next >