15 lines
474 B
Java
15 lines
474 B
Java
package tc.oc.pgm.features;
|
|
|
|
import tc.oc.pgm.match.Match;
|
|
import tc.oc.pgm.module.ModuleLoadException;
|
|
|
|
public interface FeatureFactory<T extends Feature<?>> {
|
|
/**
|
|
* Called at most once per match to create the {@link T} instance.
|
|
*
|
|
* This is called lazily by {@link MatchFeatureContext#get(FeatureFactory)}.
|
|
* To create the feature eagerly, call that method at match load time.
|
|
*/
|
|
T createFeature(Match match) throws ModuleLoadException;
|
|
}
|