@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"); } } }
@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"); } } }
private <P> Collection<JavaFileObject> getFromSourcePath(ReadFileSystem<P> fs, String... compilationUnits) throws IOException { SimpleFileManager<P> manager = new SimpleFileManager<P>(StandardLocation.SOURCE_PATH, fs); ArrayList<String> tmp = new ArrayList<String>(); final ArrayList<JavaFileObject> javaFiles = new ArrayList<JavaFileObject>(); for (String compilationUnit : compilationUnits) { tmp.clear(); ArrayList<String> names = Spliterator.split(compilationUnit.substring(1), '/', tmp); String name = tmp.get(tmp.size() - 1); if (!name.endsWith(".java")) { throw new IllegalArgumentException("Illegal compilation unit: " + compilationUnit); } P file = manager.getFileSystem().getPath(names); if (file == null) { throw new IllegalArgumentException("Could not find compilation unit: " + compilationUnit); } names.remove(names.size() - 1); String pkg = Tools.join('.', names); FileKey key = FileKey.newJavaName(pkg, name); javaFiles.add(manager.getReadable(key)); } return javaFiles; }
private <P> Collection<JavaFileObject> getFromSourcePath(ReadFileSystem<P> fs, String... compilationUnits) throws IOException { SimpleFileManager<P> manager = new SimpleFileManager<P>(StandardLocation.SOURCE_PATH, fs); ArrayList<String> tmp = new ArrayList<String>(); final ArrayList<JavaFileObject> javaFiles = new ArrayList<JavaFileObject>(); for (String compilationUnit : compilationUnits) { tmp.clear(); ArrayList<String> names = Spliterator.split(compilationUnit.substring(1), '/', tmp); String name = tmp.get(tmp.size() - 1); if (!name.endsWith(".java")) { throw new IllegalArgumentException("Illegal compilation unit: " + compilationUnit); } P file = manager.getFileSystem().getPath(names); if (file == null) { throw new IllegalArgumentException("Could not find compilation unit: " + compilationUnit); } names.remove(names.size() - 1); String pkg = Tools.join('.', names); FileKey key = FileKey.newJavaName(pkg, name); javaFiles.add(manager.getReadable(key)); } return javaFiles; }