Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

IOutputLocationManager.java 2.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /********************************************************************
  2. * Copyright (c) 2006 Contributors.All rights reserved.
  3. * This program and the accompanying materials are made available
  4. * under the terms of the Eclipse Public License v1.0
  5. * which accompanies this distribution and is available at
  6. * http://eclipse.org/legal/epl-v10.html
  7. *
  8. * Contributors:
  9. * Adrian Colyer Initial implementation
  10. * Helen Hawkins bug 166580 and 148190
  11. * ******************************************************************/
  12. package org.aspectj.ajde.core;
  13. import java.io.File;
  14. import java.util.List;
  15. /**
  16. * Interface that handles where the compilation output is sent. Allows
  17. * for the output folder to be different for different source files.
  18. */
  19. public interface IOutputLocationManager {
  20. /**
  21. * Return the directory root under which the results of compiling the given
  22. * source file. For example, if the source file contains the type a.b.C, and
  23. * this method returns "target/classes" the resulting class file will be written
  24. * to "target/classes/a/b/C.class"
  25. *
  26. * @param compilationUnit the compilation unit that has been compiled
  27. * @return a File object representing the root directory under which compilation results for this
  28. * unit should be written
  29. */
  30. File getOutputLocationForClass(File compilationUnit);
  31. /**
  32. * When copying resources from source folders to output location, return the
  33. * root directory under which the resource should be copied.
  34. *
  35. * @param resource the resource to be copied
  36. * @return a File object representing the root directory under which this resource
  37. * should be copied
  38. */
  39. File getOutputLocationForResource(File resource);
  40. /**
  41. * Return a list of all output locations handled by this OutputLocationManager
  42. */
  43. List /*File*/ getAllOutputLocations();
  44. /**
  45. * Return the default output location (for example, <my_project>/bin). This is
  46. * where classes which are on the inpath will be placed.
  47. */
  48. File getDefaultOutputLocation();
  49. }