All Downloads are FREE. Search and download functionalities are using the official Maven repository.

edu.stanford.protege.webprotege.match.InstanceOfMatcherFactory Maven / Gradle / Ivy

The newest version!
package edu.stanford.protege.webprotege.match;

import edu.stanford.protege.webprotege.hierarchy.ClassHierarchyProvider;
import edu.stanford.protege.webprotege.index.ClassAssertionAxiomsByClassIndex;
import edu.stanford.protege.webprotege.index.ProjectOntologiesIndex;
import edu.stanford.protege.webprotege.index.ProjectSignatureByTypeIndex;
import edu.stanford.protege.webprotege.criteria.HierarchyFilterType;
import javax.annotation.processing.Generated;
import javax.inject.Inject;
import javax.inject.Provider;
import org.semanticweb.owlapi.model.OWLClass;

public final class InstanceOfMatcherFactory {
  private final Provider hierarchyProviderProvider;

  private final Provider projectOntologiesIndexProvider;

  private final Provider classAssertionsByClassProvider;

  private final Provider projectSignatureByTypeProvider;

  @Inject
  public InstanceOfMatcherFactory(
      Provider hierarchyProviderProvider,
      Provider projectOntologiesIndexProvider,
      Provider classAssertionsByClassProvider,
      Provider projectSignatureByTypeProvider) {
    this.hierarchyProviderProvider = checkNotNull(hierarchyProviderProvider, 1);
    this.projectOntologiesIndexProvider = checkNotNull(projectOntologiesIndexProvider, 2);
    this.classAssertionsByClassProvider = checkNotNull(classAssertionsByClassProvider, 3);
    this.projectSignatureByTypeProvider = checkNotNull(projectSignatureByTypeProvider, 4);
  }

  public InstanceOfMatcher create(OWLClass target, HierarchyFilterType filterType) {
    return new InstanceOfMatcher(
        checkNotNull(hierarchyProviderProvider.get(), 1),
        checkNotNull(projectOntologiesIndexProvider.get(), 2),
        checkNotNull(classAssertionsByClassProvider.get(), 3),
        checkNotNull(projectSignatureByTypeProvider.get(), 4),
        checkNotNull(target, 5),
        checkNotNull(filterType, 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