org.aspectj.ajde.core
Interface ICompilerConfiguration

All Superinterfaces:
CompilerConfigurationChangeFlags

public interface ICompilerConfiguration
extends CompilerConfigurationChangeFlags

Interface that contains all the configuration required for the compiler to be able to perform a build


Field Summary
 
Fields inherited from interface org.aspectj.ajdt.internal.core.builder.CompilerConfigurationChangeFlags
ASPECTPATH_CHANGED, CLASSPATH_CHANGED, EVERYTHING, INJARS_CHANGED, INPATH_CHANGED, JAVAOPTIONS_CHANGED, NO_CHANGES, NONSTANDARDOPTIONS_CHANGED, OUTJAR_CHANGED, OUTPUTDESTINATIONS_CHANGED, PROJECTSOURCEFILES_CHANGED, PROJECTSOURCERESOURCES_CHANGED, XMLCONFIG_CHANGED
 
Method Summary
 void configurationRead()
          Called by AspectJ once it has processed the configuration object and is ready to do a build.
 java.util.Set<java.io.File> getAspectPath()
           
 java.lang.String getClasspath()
           
 java.util.List getClasspathElementsWithModifiedContents()
          Return a List (Strings) of the directory elements on the classpath that are likely to contain modified .class files since the previous build and must be checked.
 int getConfigurationChanges()
          Returns a set of bit flags indicating what has changed in the configuration since it was previously read.
 java.util.Set<java.io.File> getInpath()
           
 java.util.Map getJavaOptionsMap()
          Returns the table of the current custom java options.
 java.lang.String getNonStandardOptions()
          The non-standard options, typically prefaced with -X when used with a command line compiler.
 java.lang.String getOutJar()
           
 IOutputLocationManager getOutputLocationManager()
           
 java.lang.String getProjectEncoding()
          Return the encoding to use for this project.
 java.util.List<java.lang.String> getProjectSourceFiles()
           
 java.util.List getProjectSourceFilesChanged()
          Return a subset of those files we'd get on getProjectSourceFiles() - the subset that have changed since the last build.
 java.util.List<java.lang.String> getProjectXmlConfigFiles()
           
 java.util.Map getSourcePathResources()
          Get the set of non-Java resources for this compilation.
 

Method Detail

getJavaOptionsMap

java.util.Map getJavaOptionsMap()
Returns the table of the current custom java options.

For a complete description of the configurable options, see JavaOptions.getDefaultJavaOptions() or IJavaProject.getOptions(boolean)

Returns:
table of current settings of all options (key type: String; value type: String)
See Also:
or org.aspectj.org.eclipse.jdt.core.IJavaProject#getOptions(boolean)

getNonStandardOptions

java.lang.String getNonStandardOptions()
The non-standard options, typically prefaced with -X when used with a command line compiler. The default is no non-standard options. Options should be separated by a space, for example "-showWeaveInfo -XnoInline"


getProjectSourceFiles

java.util.List<java.lang.String> getProjectSourceFiles()
Returns:
a list of those files to include in the build

getProjectXmlConfigFiles

java.util.List<java.lang.String> getProjectXmlConfigFiles()
Returns:
a list of those files that should be used to configure a build

getProjectSourceFilesChanged

java.util.List getProjectSourceFilesChanged()
Return a subset of those files we'd get on getProjectSourceFiles() - the subset that have changed since the last build. If someone else has already worked out what needs rebuilding, we don't need to do it again by checking all of the projectSourceFiles(). Returning an empty list means nothing has changed, returning null means you have no idea what changed and the compiler should work it out.

Returns:
a subset of those files that would be returned on getProjectSourceFiles() that have actually *changed*

getClasspath

java.lang.String getClasspath()
Returns:
the classpath to use

getOutputLocationManager

IOutputLocationManager getOutputLocationManager()
Returns:
the IOutputLocationManager associated with this compiler configuration

getInpath

java.util.Set<java.io.File> getInpath()
Returns:
the set of input path elements for this compilation. Set members should be of the type java.io.File. An empty set or null is acceptable for this option. From -inpath

getOutJar

java.lang.String getOutJar()
Returns:
the output jar file for the compilation results. Return null to leave classfiles unjar'd in output directory From -outjar

getAspectPath

java.util.Set<java.io.File> getAspectPath()
Returns:
the set of aspect jar files to be used for the compilation. Returning null or an empty set disables this option. Set members should be of type java.io.File. From -aspectpath

getSourcePathResources

java.util.Map getSourcePathResources()
Get the set of non-Java resources for this compilation. Set members should be of type java.io.File. An empty set or null is acceptable for this option.

Returns:
map from unique resource name to absolute path to source resource (String to File)

getConfigurationChanges

int getConfigurationChanges()
Returns a set of bit flags indicating what has changed in the configuration since it was previously read. This allows the compiler to avoid repeating computation for values that are the same as before.

Returns:
set of bit flags, see the constants in @link CompilerConfigurationChangeFlags. If unsure return EVERYTHING

configurationRead

void configurationRead()
Called by AspectJ once it has processed the configuration object and is ready to do a build. The configuration object may or may not be interested in this event. It probably will be if it is correctly tracking changes and answering getConfigurationChanges() with something other than EVERYTHING.


getClasspathElementsWithModifiedContents

java.util.List getClasspathElementsWithModifiedContents()
Return a List (Strings) of the directory elements on the classpath that are likely to contain modified .class files since the previous build and must be checked. This would be used in the situation where a project has a dependency on another project and the dependency is captured by inclusion of one project on the classpath for the other. When the first project is built, we need to check the classpath element on the second projects classpath that represents the bin folder of the first project. By explicitly returning a list here we can avoid checking EVERYTHING.

Returns:
a list of modified elements that should be checked (can be empty) or null if unknown (and in which case every classpath element will be checked)

getProjectEncoding

java.lang.String getProjectEncoding()
Return the encoding to use for this project. Return null if the platform default should be used. Example return value "UTF-8"