Source code: de/hunsicker/jalopy/plugin/Project.java
1 /*
2 * Copyright (c) 2001-2002, Marco Hunsicker. All rights reserved.
3 *
4 * This software is distributable under the BSD license. See the terms of the
5 * BSD license in the documentation provided with this software.
6 */
7 package de.hunsicker.jalopy.plugin;
8
9 import java.util.Collection;
10
11
12 /**
13 * Provides access to the Java source files that make up a user's project.
14 *
15 * @author <a href="http://jalopy.sf.net/contact.html">Marco Hunsicker</a>
16 * @version $Revision: 1.2 $
17 */
18 public interface Project
19 {
20 //~ Methods --------------------------------------------------------------------------
21
22 /**
23 * Returns the currently active Java source file. <em>Active</em> means that the file
24 * has an {@link Editor} opened and this editor has the focus.
25 *
26 * @return currently active file. Returns <code>null</code> if there is no active
27 * file or if the active file is no Java source file.
28 */
29 public ProjectFile getActiveFile();
30
31
32 /**
33 * Returns all Java source files that make up a project.
34 *
35 * @return the files of the project (of type {@link
36 * de.hunsicker.jalopy.plugin.ProjectFile <ProjectFile>}). Returns an
37 * empty list if no files exist.
38 */
39 public Collection getAllFiles();
40
41
42 /**
43 * Returns the Java source files that are currently opened (i.e. <code>{@link
44 * ProjectFile#getEditor()} != null</code>).
45 *
46 * @return currently opened files (of type {@link
47 * de.hunsicker.jalopy.plugin.ProjectFile <ProjectFile>}). Returns an
48 * empty list if no files are opened.
49 */
50 public Collection getOpenedFiles();
51
52
53 /**
54 * Returns the Java source files that are currently selected.
55 *
56 * @return currently selected files (of type {@link
57 * de.hunsicker.jalopy.plugin.ProjectFile <ProjectFile>}). Returns an
58 * empty list if no files are selected.
59 */
60 public Collection getSelectedFiles();
61 }