
edu.stanford.protege.webprotege.change.description.CreatedIndividuals Maven / Gradle / Ivy
The newest version!
package edu.stanford.protege.webprotege.change.description;
import com.google.auto.value.AutoValue;
import com.google.common.collect.ImmutableSet;
import edu.stanford.protege.webprotege.owlapi.OWLObjectStringFormatter;
import org.semanticweb.owlapi.model.OWLClass;
import org.semanticweb.owlapi.model.OWLNamedIndividual;
import javax.annotation.Nonnull;
/**
* Matthew Horridge
* Stanford Center for Biomedical Informatics Research
* 2018-12-10
*/
@AutoValue
public abstract class CreatedIndividuals implements StructuredChangeDescription {
public static CreatedIndividuals get(@Nonnull ImmutableSet individuals,
@Nonnull ImmutableSet types) {
return new AutoValue_CreatedIndividuals(individuals, types);
}
@Nonnull
public abstract ImmutableSet getIndividuals();
@Nonnull
public abstract ImmutableSet getTypes();
@Nonnull
@Override
public String getTypeName() {
return "CreatedIndividuals";
}
@Nonnull
@Override
public String formatDescription(@Nonnull OWLObjectStringFormatter formatter) {
if(getTypes().isEmpty()) {
if(getIndividuals().size() == 1) {
return formatter.formatString("Created individual %s", getIndividuals());
}
else {
return formatter.formatString("Created individuals %s", getIndividuals());
}
}
else {
if(getIndividuals().size() == 1) {
return formatter.formatString("Created %s as an instance of %s", getIndividuals(), getTypes());
}
else {
return formatter.formatString("Created %s as instances of %s", getIndividuals(), getTypes());
}
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy