blob: 8548e63e2d0f1334fdbd6a3b477cf697284ea8ce (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
package jcgp.backend.population;
public interface MutableElement {
/**
* This method sets the indexed connection to the specified new connection.
* Implementing classes may choose to ignore the given index (such as in the
* case of outputs, which only have one connection).
*
* @param index
* @param newConnection
*/
public void setConnection(int index, Connection newConnection);
/**
* This method returns true if and only if:</br>
* - the elements being compared are not the same instance;</br>
* - the connections of the compared elements are not the same instance;</br>
* - the elements have the same function (in the case of Node);</br>
* - the grid position of the elements themselves are the same;</br>
* - the grid position of all equivalent connections are the same;</br></br>
*
* The relationship computed by this method is:</br>
* - symmetric: a.copyOf(b) == b.copyOf(a);</br>
* - not reflexive: a.copyOf(a) returns false;</br>
* - not transitive: if a.copyOf(b) is true and b.copyOf(c) is true, a.copyOf(c) is
* not necessarily true since it is possible that a == c.</br>
*
* @param m
* @return
*/
boolean copyOf(MutableElement m);
}
|