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

de.learnlib.algorithm.dhc.mealy.MealyDHCBuilder Maven / Gradle / Ivy

Go to download

This artifact provides the implementation of the DHC learning algorithm as described in the paper "Automata Learning with on-the-Fly Direct Hypothesis Construction" (https://doi.org/10.1007/978-3-642-34781-8_19) by Maik Merten, Falk Howar, Bernhard Steffen, and Tiziana Margaria.

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.dhc.mealy.MealyDHC
 */

package de.learnlib.algorithm.dhc.mealy;

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

	private static<
			I extends java.lang.Object,
			O extends java.lang.Object> de.learnlib.algorithm.dhc.mealy.MealyDHC $createDispatch(
		net.automatalib.alphabet.Alphabet alphabet,
		de.learnlib.oracle.MembershipOracle> oracle,
		de.learnlib.counterexample.GlobalSuffixFinder> suffixFinder,
		java.util.Collection> initialSplitters
		) {
		return new de.learnlib.algorithm.dhc.mealy.MealyDHC(
			alphabet,
			oracle,
			suffixFinder,
			initialSplitters
			);
	}

	private net.automatalib.alphabet.Alphabet alphabet;
	private de.learnlib.oracle.MembershipOracle> oracle;
	private de.learnlib.counterexample.GlobalSuffixFinder> suffixFinder;
	private java.util.Collection> initialSplitters;

	public MealyDHCBuilder() {
		this.suffixFinder = de.learnlib.algorithm.dhc.mealy.MealyDHC.BuilderDefaults.suffixFinder();
		this.initialSplitters = de.learnlib.algorithm.dhc.mealy.MealyDHC.BuilderDefaults.initialSplitters();
	}

	public de.learnlib.algorithm.dhc.mealy.MealyDHC create() {
		return $createDispatch(
			this.alphabet,
			this.oracle,
			this.suffixFinder,
			this.initialSplitters
			);
	}

	public net.automatalib.alphabet.Alphabet getAlphabet() {
		return this.alphabet;
	}
	public void setAlphabet(net.automatalib.alphabet.Alphabet alphabet) {
		this.alphabet = alphabet;
	}
	public MealyDHCBuilder 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 MealyDHCBuilder withOracle(de.learnlib.oracle.MembershipOracle> oracle) {
		this.oracle = oracle;
		return this;
	} 

	public de.learnlib.counterexample.GlobalSuffixFinder> getSuffixFinder() {
		return this.suffixFinder;
	}
	public void setSuffixFinder(de.learnlib.counterexample.GlobalSuffixFinder> suffixFinder) {
		this.suffixFinder = suffixFinder;
	}
	public MealyDHCBuilder withSuffixFinder(de.learnlib.counterexample.GlobalSuffixFinder> suffixFinder) {
		this.suffixFinder = suffixFinder;
		return this;
	} 

	public java.util.Collection> getInitialSplitters() {
		return this.initialSplitters;
	}
	public void setInitialSplitters(java.util.Collection> initialSplitters) {
		this.initialSplitters = initialSplitters;
	}
	public MealyDHCBuilder withInitialSplitters(java.util.Collection> initialSplitters) {
		this.initialSplitters = initialSplitters;
		return this;
	} 

}