1 /* *******************************************************************
2 * Copyright (c) 2006 Contributors.
4 * This program and the accompanying materials are made available
5 * under the terms of the Eclipse Public License v1.0
6 * which accompanies this distribution and is available at
7 * http://eclipse.org/legal/epl-v10.html
10 * Adrian Colyer Initial implementation
11 * ******************************************************************/
12 package org.aspectj.ajdt.internal.compiler;
15 import java.util.List;
18 * acts as a bridge from ajde's OutputLocationManager interface to the compiler internals
22 public interface CompilationResultDestinationManager {
25 * Return the directory root under which the results of compiling the given
26 * source file. For example, if the source file contains the type a.b.C, and
27 * this method returns "target/classes" the resulting class file will be written
28 * to "target/classes/a/b/C.class"
30 * @param compilationUnit the compilation unit that has been
32 * @return a File object representing the root directory under which compilation results for this
33 * unit should be written
35 File getOutputLocationForClass(File compilationUnit);
38 * When copying resources from source folders to output location, return the
39 * root directory under which the resource should be copied.
41 * @param resource the resource to be copied
42 * @return a File object representing the root directory under which this resource
45 File getOutputLocationForResource(File resource);
48 * Return a list of all output locations handled by this OutputLocationManager
50 List /*File*/ getAllOutputLocations();
53 * Return the default output location (for example, <my_project>/bin). This is
54 * where classes which are on the inpath will be placed.
56 File getDefaultOutputLocation();