]> source.dussan.org Git - aspectj.git/blob
5c7c30d4ad9405aa894247af124b783bff28760c
[aspectj.git] /
1 /* *******************************************************************
2  * Copyright (c) 2006 Contributors.
3  * All rights reserved. 
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 
8  *  
9  * Contributors: 
10  *   Adrian Colyer                      Initial implementation
11  * ******************************************************************/
12 package org.aspectj.ajdt.internal.compiler;
13
14 import java.io.File;
15
16 /**
17  * acts as a bridge from ajde's OutputLocationManager interface to the compiler internals
18  * @author adrian
19  *
20  */
21 public interface CompilationResultDestinationManager {
22
23         /**
24          * Return the directory root under which the results of compiling the given
25          * source file. For example, if the source file contains the type a.b.C, and
26          * this method returns "target/classes" the resulting class file will be written
27          * to "target/classes/a/b/C.class"
28          * 
29          * @param compilationUnit  the compilation unit that has been
30          *  compiled
31          * @return a File object representing the root directory under which compilation results for this
32          *  unit should be written
33          */
34         File getOutputLocationForClass(File compilationUnit);
35         
36         /**
37          * When copying resources from source folders to output location, return the
38          * root directory under which the resource should be copied.
39          * 
40          * @param resource the resource to be copied
41          * @return a File object representing the root directory under which this resource
42          * should be copied
43          */
44         File getOutputLocationForResource(File resource);
45         
46 }