All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.learnlib.algorithms.ttt.mealy.TTTLearnerMealyBuilder Maven / Gradle / Ivy

/*
 * Automatically generated by BuilderGen, https://github.com/misberner/buildergen.
 * DO NOT EDIT THIS FILE! Your changes will be overwritten.
 * Edit the @GenerateBuilder specification of class
 * de.learnlib.algorithms.ttt.mealy.TTTLearnerMealy
 */

package de.learnlib.algorithms.ttt.mealy;

public final class TTTLearnerMealyBuilder<
		I extends java.lang.Object,
		O extends java.lang.Object> {

	private static<
			I extends java.lang.Object,
			O extends java.lang.Object> de.learnlib.algorithms.ttt.mealy.TTTLearnerMealy $createDispatch(
		net.automatalib.words.Alphabet alphabet,
		de.learnlib.api.oracle.MembershipOracle> oracle,
		de.learnlib.acex.AcexAnalyzer analyzer
		) {
		return new de.learnlib.algorithms.ttt.mealy.TTTLearnerMealy(
			alphabet,
			oracle,
			analyzer
			);
	}

	private net.automatalib.words.Alphabet alphabet;
	private de.learnlib.api.oracle.MembershipOracle> oracle;
	private de.learnlib.acex.AcexAnalyzer analyzer;

	public TTTLearnerMealyBuilder() {
		this.analyzer = de.learnlib.algorithms.ttt.base.AbstractTTTLearner.BuilderDefaults.analyzer();
	}

	public de.learnlib.algorithms.ttt.mealy.TTTLearnerMealy create() {
		return $createDispatch(
			this.alphabet,
			this.oracle,
			this.analyzer
			);
	}

	public net.automatalib.words.Alphabet getAlphabet() {
		return this.alphabet;
	}
	public void setAlphabet(net.automatalib.words.Alphabet alphabet) {
		this.alphabet = alphabet;
	}
	public TTTLearnerMealyBuilder withAlphabet(net.automatalib.words.Alphabet alphabet) {
		this.alphabet = alphabet;
		return this;
	} 

	public de.learnlib.api.oracle.MembershipOracle> getOracle() {
		return this.oracle;
	}
	public void setOracle(de.learnlib.api.oracle.MembershipOracle> oracle) {
		this.oracle = oracle;
	}
	public TTTLearnerMealyBuilder withOracle(de.learnlib.api.oracle.MembershipOracle> oracle) {
		this.oracle = oracle;
		return this;
	} 

	public de.learnlib.acex.AcexAnalyzer getAnalyzer() {
		return this.analyzer;
	}
	public void setAnalyzer(de.learnlib.acex.AcexAnalyzer analyzer) {
		this.analyzer = analyzer;
	}
	public TTTLearnerMealyBuilder withAnalyzer(de.learnlib.acex.AcexAnalyzer analyzer) {
		this.analyzer = analyzer;
		return this;
	} 

}