![JAR search and dependency download from the Maven repository](/logo.png)
edu.stanford.protege.webprotege.diff.DiffElementRenderer Maven / Gradle / Ivy
The newest version!
package edu.stanford.protege.webprotege.diff;
import edu.stanford.protege.webprotege.change.*;
import edu.stanford.protege.webprotege.renderer.HasHtmlBrowserText;
import javax.annotation.Nonnull;
import java.io.Serializable;
/**
* Matthew Horridge
* Stanford Center for Biomedical Informatics Research
* 26/02/15
*/
public class DiffElementRenderer {
private final HasHtmlBrowserText renderer;
private final OntologyChangeVisitorEx visitor;
public DiffElementRenderer(HasHtmlBrowserText ren) {
this.renderer = ren;
visitor = new OntologyChangeVisitorEx<>() {
@Override
public String visit(@Nonnull AddAxiomChange change) {
return renderer.getHtmlBrowserText(change.getAxiom());
}
@Override
public String visit(@Nonnull RemoveAxiomChange change) {
return renderer.getHtmlBrowserText(change.getAxiom());
}
@Override
public String visit(@Nonnull AddOntologyAnnotationChange change) {
return renderer.getHtmlBrowserText(change.getAnnotation());
}
@Override
public String visit(@Nonnull RemoveOntologyAnnotationChange change) {
return renderer.getHtmlBrowserText(change.getAnnotation());
}
@Override
public String visit(@Nonnull AddImportChange change) {
return renderer.getHtmlBrowserText(change.getImportsDeclaration().getIRI());
}
@Override
public String visit(@Nonnull RemoveImportChange change) {
return renderer.getHtmlBrowserText(change.getImportsDeclaration().getIRI());
}
@Override
public String getDefaultReturnValue() {
throw new RuntimeException();
}
};
}
public DiffElement render(DiffElement element) {
OntologyChange lineElement = element.getLineElement();
return new DiffElement<>(
element.getDiffOperation(),
element.getSourceDocument(),
renderData(lineElement)
);
}
public String renderData(OntologyChange change) {
return change.accept(visitor);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy