示例#1
0
 @Override
 public FileObject getFileForInput(Location location, String packageName, String relativeName)
     throws IOException {
   FileKey key = FileKey.newResourceName(packageName, relativeName);
   FileManager files = getFiles(location);
   if (files != null) {
     return files.getReadable(key);
   } else {
     throw new FileNotFoundException("Cannot write: " + location);
   }
 }
示例#2
0
 @Override
 public JavaFileObject getJavaFileForOutput(
     Location location, String className, JavaFileObject.Kind kind, FileObject sibling)
     throws IOException {
   FileManager files = getFiles(location);
   if (files != null) {
     FileKey key = FileKey.newJavaName(className, kind);
     return files.getWritable(key);
   } else {
     throw new UnsupportedOperationException("Location " + location + " not supported");
   }
 }
示例#3
0
 public Iterable<? extends File> getLocation(Location location) {
   if (location == StandardLocation.CLASS_PATH) {
     FileManager manager = getFiles(location);
     if (manager != null) {
       try {
         HashSet<File> files = new HashSet<File>();
         manager.populateRoots(files);
         return files;
       } catch (IOException e) {
         e.printStackTrace();
       }
     }
   }
   return null;
 }
示例#4
0
 @Override
 public Iterable<JavaFileObject> list(
     Location location, String packageName, Set<JavaFileObject.Kind> kinds, boolean recurse)
     throws IOException {
   Iterable<JavaFileObject> ret;
   if (location == StandardLocation.PLATFORM_CLASS_PATH) {
     ret = super.list(location, packageName, kinds, recurse);
   } else {
     FileManager files = getFiles(location);
     if (files != null) {
       ret = files.list(packageName, kinds, recurse, new ArrayList<JavaFileObject>());
     } else {
       ret = Collections.emptyList();
     }
   }
   return ret;
 }
示例#5
0
  @Override
  public FileObject getFileForOutput(
      Location location, String packageName, String relativeName, FileObject sibling)
      throws IOException {
    FileKey key = FileKey.newResourceName(packageName, relativeName);

    // Address a bug
    if (location == StandardLocation.SOURCE_PATH) {
      FileObject file = sourcePath.getReadable(key);
      if (file == null) {
        throw new FileNotFoundException("Not found:" + key.toString());
      }
      return file;
    } else {
      FileManager files = getFiles(location);
      if (files != null) {
        return files.getWritable(key);
      } else {
        throw new FileNotFoundException("Cannot write: " + location);
      }
    }
  }