You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

BuildConfigManager.java 2.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. /* *******************************************************************
  2. * Copyright (c) 1999-2001 Xerox Corporation,
  3. * 2002 Palo Alto Research Center, Incorporated (PARC).
  4. * All rights reserved.
  5. * This program and the accompanying materials are made available
  6. * under the terms of the Eclipse Public License v 2.0
  7. * which accompanies this distribution and is available at
  8. * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt
  9. *
  10. * Contributors:
  11. * Xerox/PARC initial implementation
  12. * ******************************************************************/
  13. package org.aspectj.ajde.internal;
  14. import java.util.List;
  15. import org.aspectj.ajde.ui.BuildConfigModel;
  16. /**
  17. * @author Mik Kersten
  18. */
  19. public interface BuildConfigManager {
  20. String CONFIG_FILE_SUFFIX = ".lst";
  21. String DEFAULT_CONFIG_LABEL = "<all project files>";
  22. /**
  23. * Returns the currently active build configuration file. The current active
  24. * build configuration file that is set in this class is used for building and
  25. * for updating the structure model.
  26. *
  27. * @return full path to the file
  28. */
  29. String getActiveConfigFile();
  30. /**
  31. * Sets the currently active build configuration file.
  32. *
  33. * @param currConfigFilePath full path to the file
  34. */
  35. void setActiveConfigFile(String currConfigFilePath);
  36. /**
  37. * Add a listner that will be notified of build configuration change events
  38. */
  39. void addListener(BuildConfigListener configurationListener);
  40. /**
  41. * Remove a configuration listener.
  42. */
  43. void removeListener(BuildConfigListener configurationListener);
  44. /**
  45. * Build a model for the corresponding configuration file.
  46. *
  47. * @param configFilePath full path to the file
  48. */
  49. BuildConfigModel buildModel(String configFilePath);
  50. /**
  51. * Save the given configuration model to the file that it was generated from.
  52. */
  53. void writeModel(BuildConfigModel model);
  54. /**
  55. * Write a list of source files into a configuration file. File paths will be
  56. * written relative to the path of the configuration file.
  57. */
  58. void writePaths(String configFilePath, List<String> paths);
  59. /**
  60. * Add files to a configuration.
  61. *
  62. * @param configFilePath full path to the configuration file
  63. * @param files list of full paths to the files to be added
  64. */
  65. void addFilesToConfig(String configFilePath, List files);
  66. /**
  67. * Remove files from a configuration.
  68. *
  69. * @param configFilePath full path to the configuration file
  70. * @param files list of full paths to the files to be removed
  71. */
  72. void removeFilesFromConfig(String configFilePath, List files);
  73. /**
  74. * @return list (of Strings) of all build configuration files
  75. * found so far
  76. */
  77. List /*String*/ getAllBuildConfigFiles();
  78. }