001package de.learnlib.oracles; 002 003import de.learnlib.api.SUL; 004import de.learnlib.statistics.Counter; 005import de.learnlib.statistics.StatisticSUL; 006 007public class ResetCounterSUL<I, O> implements StatisticSUL<I, O> { 008 009 private final SUL<I,O> sul; 010 private final Counter counter; 011 012 public ResetCounterSUL(String name, SUL<I,O> sul) { 013 this.sul = sul; 014 this.counter = new Counter(name, "resets"); 015 } 016 017 @Override 018 public void pre() { 019 counter.increment(); 020 sul.pre(); 021 } 022 023 @Override 024 public void post() { 025 sul.post(); 026 } 027 028 @Override 029 public O step(I in) { 030 return sul.step(in); 031 } 032 033 @Override 034 public Counter getStatisticalData() { 035 return counter; 036 } 037 038}