1 package eu.simuline.relana.sys;
2
3 import eu.simuline.relana.model.ClassLocator;
4 import eu.simuline.relana.model.InstanceLocator;
5 import eu.simuline.relana.model.CClass; // for javadoc only
6 import eu.simuline.relana.model.SClass; // for javadoc only
7
8 import java.net.URL;
9
10 import java.util.Set;
11
12 /**
13 * Represents a relana project as specified in a project file
14 * like <code>src/test/resources/eu/simuline/relana/proj.rml</code>.
15 * This comprises the specification of the location of a library as an url
16 * and a base class located within this library.
17 * In addition, the project file comprises a set of output effects
18 * which may be empty.
19 * A library consists of files <code>*.ccl</code>
20 * specifying the {@link CClass}es and of files <code>*.scl</code>
21 * specifying the {@link SClass}es.
22 * The base class is always a {@link CClass}.
23 *
24 *
25 * Created: Thu Apr 28 21:52:33 2005
26 *
27 * @author <a href="mailto:ernst.reissner@simuline.eu">Ernst Reissner</a>
28 * @version 1.0
29 */
30
31 public interface ProjectDesc {
32
33 /**
34 * Describe <code>getLibrary</code> method here.
35 *
36 * @return an <code>URL</code> value
37 */
38 URL getLibrary();
39
40 /**
41 * Describe <code>getLocator</code> method here.
42 *
43 * @return a <code>ClassLocator</code> value
44 */
45 ClassLocator getBaseClass();
46
47 /**
48 * Describe <code>getOutputEffects</code> method here.
49 *
50 * @return a <code>Set</code> value
51 */
52 Set<InstanceLocator> getOutputEffects();
53 } // ProjectDesc