Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 


Eclipse JDT
Release 3.5

org.eclipse.jdt.core.compiler
Class CompilationParticipant

java.lang.Object
  extended by 
org.eclipse.jdt.core.compiler.CompilationParticipant

public abstract class CompilationParticipant
extends Object

A compilation participant is notified of events occuring during the compilation process. The compilation process not only involves generating .class files (i.e. building), it also involves cleaning the output directory, reconciling a working copy, etc. So the notified events are the result of a build action, a clean action, a reconcile operation (for a working copy), etc.

Code that participates in the build should in general be implemented with a separate Builder, rather than a CompilationParticipant. It is only necessary to use a CompilationParticipant if the build step needs to interact with the Java build, for instance by creating additional Java source files that must themselves in turn be compiled.

Clients wishing to participate in the compilation process must subclass this class, and implement isActive(IJavaProject), aboutToBuild(IJavaProject), reconcile(ReconcileContext), etc.

This class is intended to be subclassed by clients.

Since:
3.2

Field Summary
static int NEEDS_FULL_BUILD
           
static int READY_FOR_BUILD
           
 
Constructor Summary
CompilationParticipant ()
           
 
Method Summary
 int aboutToBuild ( IJavaProject project)
          Notifies this participant that a build is about to start and provides it the opportunity to create missing source folders for generated source files.
 void buildFinished ( IJavaProject project)
          Notifies this participant that a build has finished for the project.
 void buildStarting ( BuildContext[] files, boolean isBatch)
          Notifies this participant that a compile operation is about to start and provides it the opportunity to generate source files based on the source files about to be compiled.
 void cleanStarting ( IJavaProject project)
          Notifies this participant that a clean is about to start and provides it the opportunity to delete generated source files.
 boolean isActive ( IJavaProject project)
          Returns whether this participant is active for a given project.
 boolean isAnnotationProcessor ()
          Returns whether this participant is interested in only Annotations.
 void processAnnotations ( BuildContext[] files)
          Notifies this participant that a compile operation has found source files using Annotations.
 void reconcile ( ReconcileContext context)
          Notifies this participant that a reconcile operation is happening.
 
Methods inherited from class java.lang. Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

READY_FOR_BUILD

public static final int READY_FOR_BUILD
See Also:
Constant Field Values

NEEDS_FULL_BUILD

public static final int NEEDS_FULL_BUILD
See Also:
Constant Field Values
Constructor Detail

CompilationParticipant

public CompilationParticipant()
Method Detail

aboutToBuild

public int aboutToBuild(
IJavaProject project)
Notifies this participant that a build is about to start and provides it the opportunity to create missing source folders for generated source files. Additional source folders should be marked as optional so the project can be built when the folders do not exist. Only sent to participants interested in the project.

Default is to return READY_FOR_BUILD.

Parameters:
project - the project about to build
Returns:
READY_FOR_BUILD or NEEDS_FULL_BUILD
See Also:
buildFinished(IJavaProject project)

buildFinished

public void buildFinished(
IJavaProject project)
Notifies this participant that a build has finished for the project. This will be sent, even if buildStarting() was not sent when no source files needed to be compiled or the build failed. Only sent to participants interested in the project.

Parameters:
project - the project about to build
Since:
3.4

buildStarting

public void buildStarting(
BuildContext[] files,
                          boolean isBatch)
Notifies this participant that a compile operation is about to start and provides it the opportunity to generate source files based on the source files about to be compiled. When isBatchBuild is true, then files contains all source files in the project. Only sent to participants interested in the current build project.

Parameters:
files - is an array of BuildContext
isBatch - identifies when the build is a batch build

cleanStarting

public void cleanStarting(
IJavaProject project)
Notifies this participant that a clean is about to start and provides it the opportunity to delete generated source files. Only sent to participants interested in the project.

Parameters:
project - the project about to be cleaned

isActive

public boolean isActive(
IJavaProject project)
Returns whether this participant is active for a given project.

Default is to return false.

For efficiency, participants that are not interested in the given project should return false for that project.

Parameters:
project - the project to participate in
Returns:
whether this participant is active for a given project

isAnnotationProcessor

public boolean isAnnotationProcessor()
Returns whether this participant is interested in only Annotations.

Default is to return false.

Returns:
whether this participant is interested in only Annotations.

processAnnotations

public void processAnnotations(
BuildContext[] files)
Notifies this participant that a compile operation has found source files using Annotations. Only sent to participants interested in the current build project that answer true to isAnnotationProcessor(). Each BuildContext was informed whether its source file currently hasAnnotations().

Parameters:
files - is an array of BuildContext

reconcile

public void reconcile(
ReconcileContext context)
Notifies this participant that a reconcile operation is happening. The participant can act on this reconcile operation by using the given context. Other participant can then see the result of this participation on this context.

Note that a participant should not modify the buffer of the working copy that is being reconciled.

Default is to do nothing.

Parameters:
context - the reconcile context to act on

Eclipse JDT
Release 3.5

Copyright (c) IBM Corp. and others 2000, 2008. All Rights Reserved.

 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire