edu.stanford.protege.webprotege.match.EntityRelationshipMatcherFactory Maven / Gradle / Ivy
The newest version!
package edu.stanford.protege.webprotege.match;
import edu.stanford.protege.webprotege.criteria.RelationshipPresence;
import edu.stanford.protege.webprotege.frame.translator.AxiomPropertyValueTranslator;
import edu.stanford.protege.webprotege.index.ProjectOntologiesIndex;
import edu.stanford.protege.webprotege.index.PropertyAssertionAxiomsBySubjectIndex;
import edu.stanford.protege.webprotege.index.SubClassOfAxiomsBySubClassIndex;
import javax.inject.Inject;
import javax.inject.Provider;
public final class EntityRelationshipMatcherFactory {
private final Provider projectOntologiesIndexProvider;
private final Provider subClassOfAxiomsBySubClassIndexProvider;
private final Provider
propertyAssertionAxiomsBySubjectIndexProvider;
private final Provider axiomTranslatorProvider;
@Inject
public EntityRelationshipMatcherFactory(
Provider projectOntologiesIndexProvider,
Provider subClassOfAxiomsBySubClassIndexProvider,
Provider propertyAssertionAxiomsBySubjectIndexProvider,
Provider axiomTranslatorProvider) {
this.projectOntologiesIndexProvider = checkNotNull(projectOntologiesIndexProvider, 1);
this.subClassOfAxiomsBySubClassIndexProvider =
checkNotNull(subClassOfAxiomsBySubClassIndexProvider, 2);
this.propertyAssertionAxiomsBySubjectIndexProvider =
checkNotNull(propertyAssertionAxiomsBySubjectIndexProvider, 3);
this.axiomTranslatorProvider = checkNotNull(axiomTranslatorProvider, 4);
}
public EntityRelationshipMatcher create(
RelationshipPresence relationshipPresence, PropertyValueMatcher propertyValueMatcher) {
return new EntityRelationshipMatcher(
checkNotNull(projectOntologiesIndexProvider.get(), 1),
checkNotNull(relationshipPresence, 2),
checkNotNull(propertyValueMatcher, 3),
checkNotNull(subClassOfAxiomsBySubClassIndexProvider.get(), 4),
checkNotNull(propertyAssertionAxiomsBySubjectIndexProvider.get(), 5),
checkNotNull(axiomTranslatorProvider.get(), 6));
}
private static T checkNotNull(T reference, int argumentIndex) {
if (reference == null) {
throw new NullPointerException(
" method argument is null but is not marked @Nullable. Argument index: "
+ argumentIndex);
}
return reference;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy