Copyright (c) 2006, 2018 IBM Corporation and others. This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-2.0/ SPDX-License-Identifier: EPL-2.0 Contributors: IBM Corporation - initial API and implementation BEA - Patch for bug 172743
/******************************************************************************* * Copyright (c) 2006, 2018 IBM Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 * which accompanies this distribution, and is available at * https://www.eclipse.org/legal/epl-2.0/ * * SPDX-License-Identifier: EPL-2.0 * * Contributors: * IBM Corporation - initial API and implementation * BEA - Patch for bug 172743 *******************************************************************************/
package org.eclipse.jdt.internal.compiler; import java.io.PrintWriter; import org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration; import org.eclipse.jdt.internal.compiler.env.ICompilationUnit; import org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding; public abstract class AbstractAnnotationProcessorManager {
Configure the receiver using the given batch compiler and the given options. The parameter batchCompiler is expected to be an instance of the batch compiler. This method is only used for the batch mode. For the IDE mode, please see configureFromPlatform(Compiler, Object, Object, boolean).
Params:
  • batchCompiler – the given batch compiler object
  • options – the given options
/** * Configure the receiver using the given batch compiler and the given options. * The parameter batchCompiler is expected to be an instance of the batch compiler. This method is * only used for the batch mode. For the IDE mode, please see {@link #configureFromPlatform(Compiler, Object, Object, boolean)}. * * @param batchCompiler the given batch compiler object * @param options the given options */
public abstract void configure(Object batchCompiler, String[] options);
Configure the receiver using the given compiler, the given compilationUnitLocator and the given java project.
Params:
  • compiler – the given compiler
  • compilationUnitLocator – the given compilation unit locator
  • javaProject – the given java project
  • isTestCode –
/** * Configure the receiver using the given compiler, the given compilationUnitLocator and * the given java project. * * @param compiler the given compiler * @param compilationUnitLocator the given compilation unit locator * @param javaProject the given java project * @param isTestCode */
public abstract void configureFromPlatform(Compiler compiler, Object compilationUnitLocator, Object javaProject, boolean isTestCode);
Set the print writer for the standard output.
Params:
  • out – the given print writer for output
/** * Set the print writer for the standard output. * * @param out the given print writer for output */
public abstract void setOut(PrintWriter out);
Set the print writer for the standard error.
Params:
  • err – the given print writer for error
/** * Set the print writer for the standard error. * * @param err the given print writer for error */
public abstract void setErr(PrintWriter err);
Return the new units created in the last round.
Returns:the new units created in the last round
/** * Return the new units created in the last round. * * @return the new units created in the last round */
public abstract ICompilationUnit[] getNewUnits();
Return the new binary bindings created in the last round.
Returns:the new binary bindings created in the last round
/** * Return the new binary bindings created in the last round. * * @return the new binary bindings created in the last round */
public abstract ReferenceBinding[] getNewClassFiles();
Returns the deleted units.
Returns:the deleted units
/** * Returns the deleted units. * @return the deleted units */
public abstract ICompilationUnit[] getDeletedUnits();
Reinitialize the receiver
/** * Reinitialize the receiver */
public abstract void reset();
Final cleanup after all rounds have completed.
/** * Final cleanup after all rounds have completed. */
protected void cleanUp() { // default: do nothing, because reset() already did the common work }
Run a new annotation processing round on the given values.
Params:
  • units – the given source type
  • referenceBindings – the given binary types
  • isLastRound – flag to notify the last round
/** * Run a new annotation processing round on the given values. * * @param units the given source type * @param referenceBindings the given binary types * @param isLastRound flag to notify the last round */
public abstract void processAnnotations(CompilationUnitDeclaration[] units, ReferenceBinding[] referenceBindings, boolean isLastRound);
Set the processors for annotation processing.
Params:
  • processors – the given processors
/** * Set the processors for annotation processing. * * @param processors the given processors */
public abstract void setProcessors(Object[] processors); }