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

edu.stanford.protege.webprotege.entity.OWLNamedIndividualData Maven / Gradle / Ivy

There is a newer version: 0.9.6-WHO
Show newest version
package edu.stanford.protege.webprotege.entity;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonTypeName;
import com.google.auto.value.AutoValue;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import edu.stanford.protege.webprotege.common.DictionaryLanguage;
import edu.stanford.protege.webprotege.common.ShortForm;
import org.semanticweb.owlapi.model.IRI;
import org.semanticweb.owlapi.model.OWLEntityVisitorEx;
import org.semanticweb.owlapi.model.OWLNamedIndividual;
import uk.ac.manchester.cs.owl.owlapi.OWLNamedIndividualImpl;

import javax.annotation.Nonnull;
import java.util.Objects;

/**
 * Author: Matthew Horridge
* Stanford University
* Bio-Medical Informatics Research Group
* Date: 28/11/2012 */ @AutoValue @JsonTypeName("NamedIndividualData") public abstract class OWLNamedIndividualData extends OWLEntityData { public static OWLNamedIndividualData get(@Nonnull OWLNamedIndividual individual, @Nonnull ImmutableMap shortForms) { return get(individual, shortForms, false); } public static OWLNamedIndividualData get(@Nonnull OWLNamedIndividual individual, @Nonnull ImmutableMap shortForms, boolean deprecated) { return get(individual, toShortFormList(shortForms), deprecated); } public static OWLNamedIndividualData get(@JsonProperty("entity") OWLNamedIndividual individual, @JsonProperty("shortForms") ImmutableList shortForms, @JsonProperty("deprecated") boolean deprecated) { return new AutoValue_OWLNamedIndividualData(shortForms, deprecated, individual); } @JsonCreator private static OWLNamedIndividualData get(@JsonProperty("iri") String iri, @JsonProperty(value = "shortForms", defaultValue = "[]") ImmutableList shortForms, @JsonProperty(value = "deprecated", defaultValue = "false") boolean deprecated) { return new AutoValue_OWLNamedIndividualData(Objects.requireNonNullElse(shortForms, ImmutableList.of()), deprecated, new OWLNamedIndividualImpl(IRI.create(iri))); } @Nonnull @Override public abstract OWLNamedIndividual getObject(); @JsonIgnore @Override public OWLNamedIndividual getEntity() { return getObject(); } @JsonProperty("iri") private String getIri() { return getEntity().getIRI().toString(); } @Override public PrimitiveType getType() { return PrimitiveType.NAMED_INDIVIDUAL; } @Override public R accept(OWLPrimitiveDataVisitor visitor) throws E { return visitor.visit(this); } @Override public R accept(OWLEntityVisitorEx visitor, R defaultValue) { return visitor.visit(getEntity()); } @Override public R accept(OWLEntityDataVisitorEx visitor) { return visitor.visit(this); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy