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}