/** * Copyright (c) 2015 Lemur Consulting Ltd. * <p> * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * <p> * http://www.apache.org/licenses/LICENSE-2.0 * <p> * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package uk.co.flax.biosolr.ontology.core; import java.util.Collection; import java.util.Map; /** * Class holding ontology data, ready to import to the search engine. * * <p>Created by Matt Pearce on 21/10/15.</p> * @author Matt Pearce */ public class OntologyData { private final Collection<String> labels; private final Collection<String> synonyms; private final Collection<String> definitions; private final Collection<String> childIris; private final Collection<String> childLabels; private final Collection<String> parentIris; private final Collection<String> parentLabels; private final Collection<String> descendantIris; private final Collection<String> descendantLabels; private final Collection<String> ancestorIris; private final Collection<String> ancestorLabels; private final Map<String, Collection<String>> relationIris; private final Map<String, Collection<String>> relationLabels; private final Collection<String> parentPaths; public OntologyData(Collection<String> labels, Collection<String> synonyms, Collection<String> definitions, Collection<String> childIris, Collection<String> childLabels, Collection<String> parentIris, Collection<String> parentLabels, Collection<String> descendantIris, Collection<String> descendantLabels, Collection<String> ancestorIris, Collection<String> ancestorLabels, Map<String, Collection<String>> relationIris, Map<String, Collection<String>> relationLabels, Collection<String> parentPaths) { this.labels = labels; this.synonyms = synonyms; this.definitions = definitions; this.childIris = childIris; this.childLabels = childLabels; this.parentIris = parentIris; this.parentLabels = parentLabels; this.descendantIris = descendantIris; this.descendantLabels = descendantLabels; this.ancestorIris = ancestorIris; this.ancestorLabels = ancestorLabels; this.relationIris = relationIris; this.relationLabels = relationLabels; this.parentPaths = parentPaths; } public Collection<String> getLabels() { return labels; } public Collection<String> getSynonyms() { return synonyms; } public Collection<String> getDefinitions() { return definitions; } public Collection<String> getChildIris() { return childIris; } public Collection<String> getChildLabels() { return childLabels; } public Collection<String> getParentIris() { return parentIris; } public Collection<String> getParentLabels() { return parentLabels; } public Collection<String> getDescendantIris() { return descendantIris; } public Collection<String> getDescendantLabels() { return descendantLabels; } public Collection<String> getAncestorIris() { return ancestorIris; } public Collection<String> getAncestorLabels() { return ancestorLabels; } public Map<String, Collection<String>> getRelationIris() { return relationIris; } public Map<String, Collection<String>> getRelationLabels() { return relationLabels; } public boolean hasSynonyms() { return synonyms != null && !synonyms.isEmpty(); } public boolean hasDefinitions() { return definitions != null && !definitions.isEmpty(); } public Collection<String> getParentPaths() { return parentPaths; } }