javax.annotation.processing.FilerException Java Examples
The following examples show how to use
javax.annotation.processing.FilerException.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: FilerImplTest.java From takari-lifecycle with Eclipse Public License 1.0 | 6 votes |
@Test public void testRecreateSourceFile() throws Exception { EclipseFileManager fileManager = new EclipseFileManager(null, Charsets.UTF_8); File outputDir = temp.newFolder(); fileManager.setLocation(StandardLocation.SOURCE_OUTPUT, Collections.singleton(outputDir)); FilerImpl filer = new FilerImpl(null /* context */, fileManager, null /* compiler */, null /* env */); filer.createSourceFile("test.Source"); try { filer.createSourceFile("test.Source"); Assert.fail(); } catch (FilerException expected) { // From Filer javadoc: // @throws FilerException if the same pathname has already been // created, the same type has already been created, or the name is // not valid for a type } }
Example #2
Source File: FilerImpl.java From takari-lifecycle with Eclipse Public License 1.0 | 6 votes |
@Override public JavaFileObject createSourceFile(CharSequence name, Element... originatingElements) throws IOException { JavaFileObject sourceFile = fileManager.getJavaFileForOutput(StandardLocation.SOURCE_OUTPUT, name.toString(), JavaFileObject.Kind.SOURCE, null); if (!createdResources.add(sourceFile.toUri())) { throw new FilerException("Attempt to recreate file for type " + name); } return new JavaFileObjectImpl(sourceFile, new FileObjectDelegate() { private boolean closed = false; @Override protected void onClose(Output<File> generatedSource) { if (!closed) { closed = true; // TODO optimize if the regenerated sources didn't change compared the previous build CompilationUnit unit = new CompilationUnit(null, generatedSource.getResource().getAbsolutePath(), null /* encoding */); processingEnv.addNewUnit(unit); incrementalCompiler.addGeneratedSource(generatedSource); } } }); }
Example #3
Source File: BatchFilerImpl.java From Eclipse-Postfix-Code-Completion with Eclipse Public License 1.0 | 6 votes |
@Override public FileObject getResource(Location location, CharSequence pkg, CharSequence relativeName) throws IOException { validateName(relativeName); FileObject fo = _fileManager.getFileForInput( location, pkg.toString(), relativeName.toString()); if (fo == null) { throw new FileNotFoundException("Resource does not exist : " + location + '/' + pkg + '/' + relativeName); //$NON-NLS-1$ } URI uri = fo.toUri(); if (_createdFiles.contains(uri)) { throw new FilerException("Resource already created : " + location + '/' + pkg + '/' + relativeName); //$NON-NLS-1$ } _createdFiles.add(uri); return fo; }
Example #4
Source File: TurbineFiler.java From turbine with Apache License 2.0 | 5 votes |
private JavaFileObject create(StandardLocation location, Kind kind, String path) throws FilerException { checkArgument(location.isOutputLocation()); if (!seen.add(path)) { throw new FilerException("already created " + path); } TurbineJavaFileObject result = new TurbineJavaFileObject(location, kind, path); files.add(result); return result; }
Example #5
Source File: FilerImpl.java From takari-lifecycle with Eclipse Public License 1.0 | 5 votes |
@Override public FileObject getResource(Location location, CharSequence pkg, CharSequence relativeName) throws IOException { FileObject file = fileManager.getFileForInput(location, pkg.toString(), relativeName.toString()); if (file == null) { throw new FileNotFoundException("Resource does not exist " + location + '/' + pkg + '/' + relativeName); } if (createdResources.contains(file.toUri())) { throw new FilerException("Resource already created " + pkg + "." + relativeName); } return file; }
Example #6
Source File: FilerImpl.java From takari-lifecycle with Eclipse Public License 1.0 | 5 votes |
@Override public FileObject createResource(Location location, CharSequence pkg, CharSequence relativeName, Element... originatingElements) throws IOException { FileObject file = fileManager.getFileForOutput(location, pkg.toString(), relativeName.toString(), null); if (!createdResources.add(file.toUri())) { throw new FilerException("Attempt to recreate file for resource " + pkg + "." + relativeName); } return new FileObjectImpl(file, new FileObjectDelegate()); }
Example #7
Source File: FilerImpl.java From takari-lifecycle with Eclipse Public License 1.0 | 5 votes |
@Override public JavaFileObject createClassFile(CharSequence name, Element... originatingElements) throws IOException { JavaFileObject classFile = fileManager.getJavaFileForOutput(StandardLocation.CLASS_OUTPUT, name.toString(), JavaFileObject.Kind.CLASS, null); if (!createdResources.add(classFile.toUri())) { throw new FilerException("Attempt to recreate file for class " + name); } return new JavaFileObjectImpl(classFile, new FileObjectDelegate() { @Override protected void onClose(Output<File> generatedClass) { // TODO processingEnv.addNewClassFile throw new UnsupportedOperationException(); } }); }
Example #8
Source File: BatchFilerImpl.java From Eclipse-Postfix-Code-Completion with Eclipse Public License 1.0 | 5 votes |
@Override public JavaFileObject createSourceFile(CharSequence name, Element... originatingElements) throws IOException { JavaFileObject jfo = _fileManager.getJavaFileForOutput( StandardLocation.SOURCE_OUTPUT, name.toString(), JavaFileObject.Kind.SOURCE, null); URI uri = jfo.toUri(); if (_createdFiles.contains(uri)) { throw new FilerException("Source file already created : " + name); //$NON-NLS-1$ } _createdFiles.add(uri); // hook the file object's writers to create compilation unit and add to addedUnits() return new HookedJavaFileObject(jfo, jfo.getName(), name.toString(), this); }
Example #9
Source File: BatchFilerImpl.java From Eclipse-Postfix-Code-Completion with Eclipse Public License 1.0 | 5 votes |
@Override public FileObject createResource(Location location, CharSequence pkg, CharSequence relativeName, Element... originatingElements) throws IOException { validateName(relativeName); FileObject fo = _fileManager.getFileForOutput( location, pkg.toString(), relativeName.toString(), null); URI uri = fo.toUri(); if (_createdFiles.contains(uri)) { throw new FilerException("Resource already created : " + location + '/' + pkg + '/' + relativeName); //$NON-NLS-1$ } _createdFiles.add(uri); return fo; }
Example #10
Source File: BatchFilerImpl.java From Eclipse-Postfix-Code-Completion with Eclipse Public License 1.0 | 5 votes |
@Override public JavaFileObject createClassFile(CharSequence name, Element... originatingElements) throws IOException { JavaFileObject jfo = _fileManager.getJavaFileForOutput( StandardLocation.CLASS_OUTPUT, name.toString(), JavaFileObject.Kind.CLASS, null); URI uri = jfo.toUri(); if (_createdFiles.contains(uri)) { throw new FilerException("Class file already created : " + name); //$NON-NLS-1$ } _createdFiles.add(uri); return new HookedJavaFileObject(jfo, jfo.getName(), name.toString(), this); }
Example #11
Source File: JavaGeneratingProcessor.java From sundrio with Apache License 2.0 | 5 votes |
/** * Generates a source file from the specified {@link io.sundr.codegen.model.TypeDef}. * @param model The model of the class to generate. * @param resourceName The template to use. * @throws IOException If it fails to create the source file. */ public void generateFromResources(TypeDef model, String resourceName) throws IOException { try { generateFromResources(model, processingEnv .getFiler() .createSourceFile(model.getFullyQualifiedName()), resourceName); } catch (FilerException e) { //TODO: Need to avoid dublicate interfaces here. } }
Example #12
Source File: ServiceProviderProcessor.java From openjdk-jdk9 with GNU General Public License v2.0 | 5 votes |
/** * Determines if a given exception is (most likely) caused by * <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=367599">Bug 367599</a>. */ public static boolean isBug367599(Throwable t) { if (t instanceof FilerException) { for (StackTraceElement ste : t.getStackTrace()) { if (ste.toString().contains("org.eclipse.jdt.internal.apt.pluggable.core.filer.IdeFilerImpl.create")) { // See: https://bugs.eclipse.org/bugs/show_bug.cgi?id=367599 return true; } } } if (t.getCause() != null) { return isBug367599(t.getCause()); } return false; }
Example #13
Source File: GraphNodeProcessor.java From openjdk-jdk9 with GNU General Public License v2.0 | 5 votes |
/** * Determines if a given exception is (most likely) caused by * <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=367599">Bug 367599</a>. */ public static boolean isBug367599(Throwable t) { if (t instanceof FilerException) { for (StackTraceElement ste : t.getStackTrace()) { if (ste.toString().contains("org.eclipse.jdt.internal.apt.pluggable.core.filer.IdeFilerImpl.create")) { // See: https://bugs.eclipse.org/bugs/show_bug.cgi?id=367599 return true; } } } if (t.getCause() != null) { return isBug367599(t.getCause()); } return false; }
Example #14
Source File: JavacFiler.java From javaide with GNU General Public License v3.0 | 5 votes |
/** * Check to see if the file has already been opened; if so, throw * an exception, otherwise add it to the set of files. */ private void checkFileReopening(FileObject fileObject, boolean addToHistory) throws FilerException { for(FileObject veteran : fileObjectHistory) { if (fileManager.isSameFile(veteran, fileObject)) { if (lint) log.warning("proc.file.reopening", fileObject.getName()); throw new FilerException("Attempt to reopen a file for path " + fileObject.getName()); } } if (addToHistory) fileObjectHistory.add(fileObject); }
Example #15
Source File: JavacFiler.java From javaide with GNU General Public License v3.0 | 5 votes |
private void checkNameAndExistence(String typename, boolean allowUnnamedPackageInfo) throws FilerException { // TODO: Check if type already exists on source or class path? // If so, use warning message key proc.type.already.exists checkName(typename, allowUnnamedPackageInfo); if (aggregateGeneratedSourceNames.contains(typename) || aggregateGeneratedClassNames.contains(typename)) { if (lint) log.warning("proc.type.recreate", typename); throw new FilerException("Attempt to recreate a file for type " + typename); } }
Example #16
Source File: JavacFiler.java From javaide with GNU General Public License v3.0 | 5 votes |
private void checkName(String name, boolean allowUnnamedPackageInfo) throws FilerException { if (!SourceVersion.isName(name) && !isPackageInfo(name, allowUnnamedPackageInfo)) { if (lint) log.warning("proc.illegal.file.name", name); throw new FilerException("Illegal name " + name); } }
Example #17
Source File: JavacFiler.java From java-n-IDE-for-Android with Apache License 2.0 | 5 votes |
/** * Check to see if the file has already been opened; if so, throw * an exception, otherwise add it to the set of files. */ private void checkFileReopening(FileObject fileObject, boolean addToHistory) throws FilerException { for(FileObject veteran : fileObjectHistory) { if (fileManager.isSameFile(veteran, fileObject)) { if (lint) log.warning("proc.file.reopening", fileObject.getName()); throw new FilerException("Attempt to reopen a file for path " + fileObject.getName()); } } if (addToHistory) fileObjectHistory.add(fileObject); }
Example #18
Source File: JavacFiler.java From java-n-IDE-for-Android with Apache License 2.0 | 5 votes |
private void checkNameAndExistence(String typename, boolean allowUnnamedPackageInfo) throws FilerException { // TODO: Check if type already exists on source or class path? // If so, use warning message key proc.type.already.exists checkName(typename, allowUnnamedPackageInfo); if (aggregateGeneratedSourceNames.contains(typename) || aggregateGeneratedClassNames.contains(typename)) { if (lint) log.warning("proc.type.recreate", typename); throw new FilerException("Attempt to recreate a file for type " + typename); } }
Example #19
Source File: JavacFiler.java From java-n-IDE-for-Android with Apache License 2.0 | 5 votes |
private void checkName(String name, boolean allowUnnamedPackageInfo) throws FilerException { if (!SourceVersion.isName(name) && !isPackageInfo(name, allowUnnamedPackageInfo)) { if (lint) log.warning("proc.illegal.file.name", name); throw new FilerException("Illegal name " + name); } }
Example #20
Source File: JavacFiler.java From java-n-IDE-for-Android with Apache License 2.0 | 4 votes |
private void checkName(String name) throws FilerException { checkName(name, false); }
Example #21
Source File: JavacFiler.java From javaide with GNU General Public License v3.0 | 4 votes |
private void checkName(String name) throws FilerException { checkName(name, false); }