org.semanticweb.elk.reasoner.saturation.rules.DecompositionRuleApplicationCounter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of elk-reasoner Show documentation
Show all versions of elk-reasoner Show documentation
ELK consequence-based reasoning engine
package org.semanticweb.elk.reasoner.saturation.rules;
/*
* #%L
* ELK Reasoner
* $Id:$
* $HeadURL:$
* %%
* Copyright (C) 2011 - 2012 Department of Computer Science, University of Oxford
* %%
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* #L%
*/
import org.semanticweb.elk.reasoner.indexing.hierarchy.IndexedClass;
import org.semanticweb.elk.reasoner.indexing.hierarchy.IndexedObjectIntersectionOf;
import org.semanticweb.elk.reasoner.indexing.hierarchy.IndexedObjectSomeValuesFrom;
/**
* An object which can be used to measure the methods invocations of a
* {@link DecompositionRuleApplicationVisitor}. The fields of the counter
* correspond to the methods of {@link DecompositionRuleApplicationVisitor}.
*
* @author "Yevgeny Kazakov"
*
*/
public class DecompositionRuleApplicationCounter {
/**
* counter for {@link IndexedClass}
*/
int countIndexedClassDecompositionRule;
/**
* counter for {@link IndexedObjectComplementOf}
*/
int countIndexedObjectComplementOfDecompositionRule;
/**
* counter for {@link IndexedObjectIntersectionOf}
*/
int countIndexedObjectIntersectionOfDecompositionRule;
/**
* counter for {@link IndexedObjectSomeValuesFrom}
*/
int countIndexedObjectSomeValuesFromDecompositionRule;
/**
* counter for {@link IndexedIndexedDataHasValue}
*/
int countIndexedDataHasValueDecompositionRule;
/**
* Reset all counters to zero.
*/
public void reset() {
countIndexedClassDecompositionRule = 0;
countIndexedObjectComplementOfDecompositionRule = 0;
countIndexedObjectIntersectionOfDecompositionRule = 0;
countIndexedObjectSomeValuesFromDecompositionRule = 0;
countIndexedDataHasValueDecompositionRule = 0;
}
/**
* Add the values the corresponding values of the given counter
*
* @param counter
*/
public synchronized void add(DecompositionRuleApplicationCounter counter) {
countIndexedClassDecompositionRule += counter.countIndexedClassDecompositionRule;
countIndexedObjectComplementOfDecompositionRule += counter.countIndexedObjectComplementOfDecompositionRule;
countIndexedObjectIntersectionOfDecompositionRule += counter.countIndexedObjectIntersectionOfDecompositionRule;
countIndexedObjectSomeValuesFromDecompositionRule += counter.countIndexedObjectSomeValuesFromDecompositionRule;
countIndexedDataHasValueDecompositionRule += counter.countIndexedDataHasValueDecompositionRule;
}
public long getTotalRuleAppCount() {
return countIndexedClassDecompositionRule
+ countIndexedObjectComplementOfDecompositionRule
+ countIndexedObjectIntersectionOfDecompositionRule
+ countIndexedObjectSomeValuesFromDecompositionRule
+ countIndexedDataHasValueDecompositionRule;
}
}