edu.stanford.protege.webprotege.change.description.MovedClasses 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 javax.annotation.Nonnull;
/**
* Matthew Horridge
* Stanford Center for Biomedical Informatics Research
* 2018-12-10
*/
@AutoValue
public abstract class MovedClasses implements StructuredChangeDescription {
public static MovedClasses get(@Nonnull ImmutableSet classes,
@Nonnull ImmutableSet from,
@Nonnull OWLClass to) {
return new AutoValue_MovedClasses(classes, from, to);
}
@Nonnull
public abstract ImmutableSet getClasses();
@Nonnull
public abstract ImmutableSet getFrom();
@Nonnull
public abstract OWLClass getTo();
@Nonnull
@Override
public String getTypeName() {
return "MovedClasses";
}
@Nonnull
@Override
public String formatDescription(@Nonnull OWLObjectStringFormatter formatter) {
if(getClasses().size() == 1) {
return formatter.formatString("Moved class %s from %s to %s", getClasses(), getFrom(), getTo());
}
else {
return formatter.formatString("Moved classes %s from %s to %s", getClasses(), getFrom(), getTo());
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy