1 | /*
|
---|
2 | Copyright 2006 by Sean Luke
|
---|
3 | Licensed under the Academic Free License version 3.0
|
---|
4 | See the file "LICENSE" for more information
|
---|
5 | */
|
---|
6 |
|
---|
7 | package ec;
|
---|
8 |
|
---|
9 | /*
|
---|
10 | * Clique.java
|
---|
11 | *
|
---|
12 | * Created: Wed Oct 13 15:12:23 1999
|
---|
13 | * By: Sean Luke
|
---|
14 | */
|
---|
15 |
|
---|
16 | /**
|
---|
17 | * Clique is a class pattern marking classes which
|
---|
18 | * create only a few instances, generally accessible through
|
---|
19 | * some global mechanism, and every single
|
---|
20 | * one of which gets its own distinct setup(...) call. Cliques should
|
---|
21 | * <b>not</b> be Cloneable, but they are Serializable.
|
---|
22 | *
|
---|
23 | * <p>All Cliques presently in ECJ rely on a central repository which
|
---|
24 | * stores members of that Clique for easy access by various objects.
|
---|
25 | * This repository typically includes a hashtable of the Clique members,
|
---|
26 | * plus perhaps one or more arrays of the members stored in different
|
---|
27 | * fashions. Originally these central repositories were stored as static
|
---|
28 | * members of the Clique class; but as of ECJ 13 they have been moved
|
---|
29 | * to be instance variables of certain Initializers. For example,
|
---|
30 | * GPInitializer holds the repositories for the GPFunctionSet, GPType,
|
---|
31 | * GPNodeConstraints, and GPTreeConstraints cliques. Likewise,
|
---|
32 | * RuleInitializer holds the repository for the RuleConstraints clique.
|
---|
33 | *
|
---|
34 | * <p>This change was made to facilitate making ECJ modular; we had to remove
|
---|
35 | * all non-final static members. If you make your own Clique, its repository
|
---|
36 | * (if you have one) doesn't have to be in an Initializer, but it's a
|
---|
37 | * convenient location.
|
---|
38 | *
|
---|
39 | * @author Sean Luke
|
---|
40 | * @version 1.0
|
---|
41 | */
|
---|
42 |
|
---|
43 | public interface Clique extends Setup
|
---|
44 | {
|
---|
45 | }
|
---|