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

de.learnlib.algorithm.ttt.dfa.TTTLearnerDFABuilder Maven / Gradle / Ivy

Go to download

This artifact provides the implementation of the TTT algorithm as described in the paper "The TTT Algorithm: A Redundancy-Free Approach to Active Automata Learning" (https://doi.org/10.1007/978-3-319-11164-3_26) by Malte Isberner, Falk Howar, and Bernhard Steffen.

The newest version!
/*
 * 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.algorithm.ttt.dfa.TTTLearnerDFA
 */

package de.learnlib.algorithm.ttt.dfa;

public final class TTTLearnerDFABuilder<
		I extends java.lang.Object> {

	private static<
			I extends java.lang.Object> de.learnlib.algorithm.ttt.dfa.TTTLearnerDFA $createDispatch(
		net.automatalib.alphabet.Alphabet alphabet,
		de.learnlib.oracle.MembershipOracle oracle,
		de.learnlib.acex.AcexAnalyzer analyzer
		) {
		return new de.learnlib.algorithm.ttt.dfa.TTTLearnerDFA(
			alphabet,
			oracle,
			analyzer
			);
	}

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

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

	public de.learnlib.algorithm.ttt.dfa.TTTLearnerDFA create() {
		return $createDispatch(
			this.alphabet,
			this.oracle,
			this.analyzer
			);
	}

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

	public de.learnlib.oracle.MembershipOracle getOracle() {
		return this.oracle;
	}
	public void setOracle(de.learnlib.oracle.MembershipOracle oracle) {
		this.oracle = oracle;
	}
	public TTTLearnerDFABuilder withOracle(de.learnlib.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 TTTLearnerDFABuilder withAnalyzer(de.learnlib.acex.AcexAnalyzer analyzer) {
		this.analyzer = analyzer;
		return this;
	} 

}