ProjectAres/PGM/src/main/java/tc/oc/pgm/features/FeatureFactory.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;
}