< 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 >