KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > eclipse > jdt > internal > compiler > AbstractAnnotationProcessorManager


1 /*******************************************************************************
2  * Copyright (c) 2006, 2007 IBM Corporation and others.
3  * All rights reserved. This program and the accompanying materials
4  * are made available under the terms of the Eclipse Public License v1.0
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/epl-v10.html
7  *
8  * Contributors:
9  * IBM Corporation - initial API and implementation
10  * BEA - Patch for bug 172743
11  *******************************************************************************/

12 package org.eclipse.jdt.internal.compiler;
13
14 import java.io.PrintWriter JavaDoc;
15
16 import org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration;
17 import org.eclipse.jdt.internal.compiler.env.ICompilationUnit;
18 import org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding;
19
20 public abstract class AbstractAnnotationProcessorManager {
21     /**
22      * Configure the receiver using the given batch compiler and the given options.
23      * The parameter batchCompiler is expected to be an instance of the batch compiler. This method is
24      * only used for the batch mode. For the IDE mode, please see {@link #configureFromPlatform(Compiler, Object, Object)}.
25      *
26      * @param batchCompiler the given batch compiler object
27      * @param options the given options
28      */

29     public abstract void configure(Object JavaDoc batchCompiler, String JavaDoc[] options);
30     
31     /**
32      * Configure the receiver using the given compiler, the given compilationUnitLocator and
33      * the given java project.
34      *
35      * @param compiler the given compiler
36      * @param compilationUnitLocator the given compilation unit locator
37      * @param javaProject the given java project
38      */

39     public abstract void configureFromPlatform(Compiler JavaDoc compiler, Object JavaDoc compilationUnitLocator, Object JavaDoc javaProject);
40     
41     /**
42      * Set the print writer for the standard output.
43      *
44      * @param out the given print writer for output
45      */

46     public abstract void setOut(PrintWriter JavaDoc out);
47     
48     /**
49      * Set the print writer for the standard error.
50      *
51      * @param err the given print writer for error
52      */

53     public abstract void setErr(PrintWriter JavaDoc err);
54
55     /**
56      * Return the new units created in the last round.
57      *
58      * @return the new units created in the last round
59      */

60     public abstract ICompilationUnit[] getNewUnits();
61     
62     /**
63      * Return the new binary bindings created in the last round.
64      *
65      * @return the new binary bindings created in the last round
66      */

67     public abstract ReferenceBinding[] getNewClassFiles();
68     
69     /**
70      * Returns the deleted units.
71      * @return the deleted units
72      */

73     public abstract ICompilationUnit[] getDeletedUnits();
74     
75     /**
76      * Reinitialize the receiver
77      */

78     public abstract void reset();
79     
80     /**
81      * Run a new annotation processing round on the given values.
82      *
83      * @param units the given source type
84      * @param referenceBindings the given binary types
85      * @param isLastRound flag to notify the last round
86      */

87     public abstract void processAnnotations(CompilationUnitDeclaration[] units, ReferenceBinding[] referenceBindings, boolean isLastRound);
88     
89     /**
90      * Set the processors for annotation processing.
91      *
92      * @param processors the given processors
93      */

94     public abstract void setProcessors(Object JavaDoc[] processors);
95 }
96
Popular Tags