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

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

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

import edu.stanford.protege.webprotege.index.AnnotationAssertionAxiomsIndex;
import javax.annotation.processing.Generated;
import javax.inject.Inject;
import javax.inject.Provider;
import org.semanticweb.owlapi.model.OWLAnnotation;

public final class IriAnnotationsMatcherFactory {
  private final Provider axiomProviderProvider;

  @Inject
  public IriAnnotationsMatcherFactory(
      Provider axiomProviderProvider) {
    this.axiomProviderProvider = checkNotNull(axiomProviderProvider, 1);
  }

  public IriAnnotationsMatcher create(Matcher annotationMatcher) {
    return new IriAnnotationsMatcher(
        checkNotNull(axiomProviderProvider.get(), 1), checkNotNull(annotationMatcher, 2));
  }

  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