edu.stanford.protege.webprotege.hierarchy.HierarchyProviderMapper Maven / Gradle / Ivy
The newest version!
package edu.stanford.protege.webprotege.hierarchy;
import org.semanticweb.owlapi.model.OWLEntity;
import javax.annotation.Nonnull;
import javax.inject.Inject;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
/**
* Matthew Horridge Stanford Center for Biomedical Informatics Research 4 Dec 2017
*/
public class HierarchyProviderMapper {
private final Map> map = new HashMap<>();
@Inject
public HierarchyProviderMapper(@Nonnull ClassHierarchyProvider classHierarchyProvider,
@Nonnull ObjectPropertyHierarchyProvider objectPropertyHierarchyProvider,
@Nonnull DataPropertyHierarchyProvider dataPropertyHierarchyProvider,
@Nonnull AnnotationPropertyHierarchyProvider annotationPropertyHierarchyProvider) {
map.put(HierarchyId.CLASS_HIERARCHY, classHierarchyProvider);
map.put(HierarchyId.OBJECT_PROPERTY_HIERARCHY, objectPropertyHierarchyProvider);
map.put(HierarchyId.DATA_PROPERTY_HIERARCHY, dataPropertyHierarchyProvider);
map.put(HierarchyId.ANNOTATION_PROPERTY_HIERARCHY, annotationPropertyHierarchyProvider);
}
@SuppressWarnings("unchecked")
public Optional> getHierarchyProvider(@Nonnull HierarchyId hierarchyId) {
HierarchyProvider hierarchyProvider = (HierarchyProvider) map.get(hierarchyId);
return Optional.ofNullable(hierarchyProvider);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy