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

edu.stanford.protege.webprotege.viz.EntityGraphBuilderFactory Maven / Gradle / Ivy

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

import edu.stanford.protege.webprotege.index.ClassAssertionAxiomsByIndividualIndex;
import edu.stanford.protege.webprotege.index.EquivalentClassesAxiomsIndex;
import edu.stanford.protege.webprotege.index.ObjectPropertyAssertionAxiomsBySubjectIndex;
import edu.stanford.protege.webprotege.index.ProjectOntologiesIndex;
import edu.stanford.protege.webprotege.index.SubClassOfAxiomsBySubClassIndex;
import edu.stanford.protege.webprotege.renderer.RenderingManager;
import javax.annotation.processing.Generated;
import javax.inject.Inject;
import javax.inject.Provider;

@Generated(
  value = "com.google.auto.factory.processor.AutoFactoryProcessor",
  comments = "https://github.com/google/auto/tree/master/factory"
)
public final class EntityGraphBuilderFactory {
  private final Provider rendererProvider;

  private final Provider projectOntologiesIndexProvider;

  private final Provider
      objectPropertyAssertionsProvider;

  private final Provider subClassOfAxiomsProvider;

  private final Provider classAssertionAxiomsProvider;

  private final Provider equivalentClassesAxiomsProvider;

  private final Integer edgeLimit;

  @Inject
  public EntityGraphBuilderFactory(
      Provider rendererProvider,
      Provider projectOntologiesIndexProvider,
      Provider objectPropertyAssertionsProvider,
      Provider subClassOfAxiomsProvider,
      Provider classAssertionAxiomsProvider,
      Provider equivalentClassesAxiomsProvider,
      @EntityGraphEdgeLimit Integer edgeLimit) {
    this.rendererProvider = checkNotNull(rendererProvider, 1);
    this.projectOntologiesIndexProvider = checkNotNull(projectOntologiesIndexProvider, 2);
    this.objectPropertyAssertionsProvider = checkNotNull(objectPropertyAssertionsProvider, 3);
    this.subClassOfAxiomsProvider = checkNotNull(subClassOfAxiomsProvider, 4);
    this.classAssertionAxiomsProvider = checkNotNull(classAssertionAxiomsProvider, 5);
    this.equivalentClassesAxiomsProvider = checkNotNull(equivalentClassesAxiomsProvider, 6);
    this.edgeLimit = checkNotNull(edgeLimit, 7);
  }

  public EntityGraphBuilder create(EdgeMatcher edgeMatcher) {
    return new EntityGraphBuilder(
        checkNotNull(rendererProvider.get(), 1),
        checkNotNull(projectOntologiesIndexProvider.get(), 2),
        checkNotNull(objectPropertyAssertionsProvider.get(), 3),
        checkNotNull(subClassOfAxiomsProvider.get(), 4),
        checkNotNull(classAssertionAxiomsProvider.get(), 5),
        checkNotNull(equivalentClassesAxiomsProvider.get(), 6),
        checkNotNull(edgeLimit, 7),
        checkNotNull(edgeMatcher, 8));
  }

  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