From 8189116ea4b5db4675e31dfd04a5687d55e29262 Mon Sep 17 00:00:00 2001 From: Eduardo Pedroni Date: Tue, 6 May 2014 14:29:37 +0100 Subject: Added javadocs, made minor changes to the comments --- src/jcgp/backend/modules/Module.java | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/jcgp/backend/modules/Module.java') 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. + *
+ * 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> localParameters = new ArrayList>(); 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; -- cgit v1.2.3