private static String getSimpleName(JavaFileObject fo ) { String name = getName(fo,true); int i = name.lastIndexOf( '$' ); if ( i == -1 ) { return name; } else { return name.substring( i + 1 ); } }
FileObject doCreateFromTemplate(FileObject template, JavaFileObject sourceFile) throws IOException { FileObject scratchFolder = FileUtil.createMemoryFileSystem().getRoot(); String name = FileObjects.getName(sourceFile, false); if (template == null) { return FileUtil.createData(scratchFolder, name); } FileObjectFromTemplateCreator creator = Lookup.getDefault().lookup(FileObjectFromTemplateCreator.class); if (creator == null) { return FileUtil.createData(scratchFolder, name); } File pack = BaseUtilities.toFile(sourceFile.toUri()).getParentFile(); while (FileUtil.toFileObject(pack) == null) { pack = pack.getParentFile(); } FileObject targetFolder = FileUtil.toFileObject(pack); scratchFolder.setAttribute(FileObjectFromTemplateCreator.ATTR_ORIG_FILE, targetFolder); return creator.create(template, scratchFolder, name); }