/*
Copyright 2006 by Sean Luke
Licensed under the Academic Free License version 3.0
See the file "LICENSE" for more information
*/
package ec;
/*
* Clique.java
*
* Created: Wed Oct 13 15:12:23 1999
* By: Sean Luke
*/
/**
* Clique is a class pattern marking classes which
* create only a few instances, generally accessible through
* some global mechanism, and every single
* one of which gets its own distinct setup(...) call. Cliques should
* not be Cloneable, but they are Serializable.
*
* All Cliques presently in ECJ rely on a central repository which
* stores members of that Clique for easy access by various objects.
* This repository typically includes a hashtable of the Clique members,
* plus perhaps one or more arrays of the members stored in different
* fashions. Originally these central repositories were stored as static
* members of the Clique class; but as of ECJ 13 they have been moved
* to be instance variables of certain Initializers. For example,
* GPInitializer holds the repositories for the GPFunctionSet, GPType,
* GPNodeConstraints, and GPTreeConstraints cliques. Likewise,
* RuleInitializer holds the repository for the RuleConstraints clique.
*
*
This change was made to facilitate making ECJ modular; we had to remove
* all non-final static members. If you make your own Clique, its repository
* (if you have one) doesn't have to be in an Initializer, but it's a
* convenient location.
*
* @author Sean Luke
* @version 1.0
*/
public interface Clique extends Setup
{
}
Ads help maintain this website.