aboutsummaryrefslogtreecommitdiffstats
path: root/src/jcgp/backend/modules/Module.java
diff options
context:
space:
mode:
authorEduardo Pedroni <ep625@york.ac.uk>2014-05-06 14:29:37 +0100
committerEduardo Pedroni <ep625@york.ac.uk>2014-05-06 14:29:37 +0100
commit8189116ea4b5db4675e31dfd04a5687d55e29262 (patch)
treec1815021452a888f8838f1628d8fb4689777e73e /src/jcgp/backend/modules/Module.java
parentaa9e74e7f67789f6353fc26e02ee8e68e40609a2 (diff)
Added javadocs, made minor changes to the comments
Diffstat (limited to 'src/jcgp/backend/modules/Module.java')
-rw-r--r--src/jcgp/backend/modules/Module.java22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/jcgp/backend/modules/Module.java b/src/jcgp/backend/modules/Module.java
index b53184e..a4d36c1 100644
--- a/src/jcgp/backend/modules/Module.java
+++ b/src/jcgp/backend/modules/Module.java
@@ -3,6 +3,7 @@ package jcgp.backend.modules;
import java.util.ArrayList;
import jcgp.backend.parameters.Parameter;
+import jcgp.backend.resources.Resources;
/**
* This class defines the expected behaviour of a module. Generally, modules
@@ -15,6 +16,9 @@ import jcgp.backend.parameters.Parameter;
* In addition, implementations of {@code Module} should specify a module name
* in their constructor using {@code setName()}. If a name is not provided,
* the simple name of the class will be used.
+ * <br>
+ * All modules, by definition, contain a reference to the experiment's resources, which
+ * must be passed at construction. The resources should be accessed with {@code getResources()}.
*
* @see Parameter
* @author Eduardo Pedroni
@@ -24,6 +28,17 @@ public abstract class Module {
private ArrayList<Parameter<?>> localParameters = new ArrayList<Parameter<?>>();
private String name = getClass().getSimpleName();
+ private Resources resources;
+
+ /**
+ * Makes a new instance of this class. This should never
+ * be called directly, and should instead be used by subclasses.
+ *
+ * @param resources a reference to the experiment's resources.
+ */
+ protected Module(Resources resources) {
+ this.resources = resources;
+ }
/**
* This method is used by the GUI in order to build visual
@@ -66,6 +81,13 @@ public abstract class Module {
this.name = name;
}
+ /**
+ * @return the experiment's resources.
+ */
+ protected Resources getResources() {
+ return resources;
+ }
+
@Override
public String toString() {
return name;