@@ -0,0 +1,1593 @@
+/* Copyright (C) 2013-2020 TU Dortmund%0A * This file is part of LearnLib, http://www.learnlib.de/.%0A *%0A * Licensed under the Apache License, Version 2.0 (the %22License%22);%0A * you may not use this file except in compliance with the License.%0A * You may obtain a copy of the License at%0A *%0A *     http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A */%0A%0Apackage de.learnlib.oracle.membership;%0A%0Aimport de.learnlib.api.StateLocalInputSUL;%0Aimport de.learnlib.api.oracle.SymbolQueryOracle;%0A%0Aimport java.util.Collection;%0A%0A/**%0A * Not thread safe.%0A *%0A * @param %3CI%3E%0A * @param %3CO%3E%0A */%0Apublic class StateLocalInputSULSymbolQueryOracle%3CI, O%3E implements SymbolQueryOracle%3CI, O%3E %7B%0A%0A    private final StateLocalInputSUL%3CI, O%3E sul;%0A    private final O undefinedOutput;%0A%0A    public StateLocalInputSULSymbolQueryOracle(StateLocalInputSUL%3CI, O%3E sul, O undefinedOutput) %7B%0A        this.sul = sul;%0A        this.undefinedOutput = undefinedOutput;%0A    %7D%0A%0A    @Override%0A    public O query(I i) %7B%0A        final Collection%3CI%3E enabledInputs = sul.currentlyEnabledInputs();%0A        if (enabledInputs.contains(i)) %7B%0A            return sul.step(i);%0A        %7D else %7B%0A            return undefinedOutput;%0A        %7D%0A    %7D%0A%0A    @Override%0A    public void reset() %7B%0A        this.sul.post();%0A        this.sul.pre();%0A    %7D%0A%7D%0A

add state local sul oracle for symbol-based learners