package eu.fbk.knowledgestore.populator.rdf; import javax.annotation.Nullable; import com.google.common.base.MoreObjects; import com.google.common.base.Preconditions; import org.openrdf.model.Statement; import org.openrdf.model.URI; import eu.fbk.knowledgestore.data.Handler; import eu.fbk.knowledgestore.data.Record; import eu.fbk.knowledgestore.vocabulary.CKR; public class Decoder implements Handler<Statement> { private final Handler<? super Record> axiomHandler; // axioms to be emitted here private final URI globalURI; Decoder(final Handler<? super Record> axiomHandler, @Nullable final URI globalURI) { this.axiomHandler = Preconditions.checkNotNull(axiomHandler); this.globalURI = MoreObjects.firstNonNull(globalURI, CKR.GLOBAL); } @Override public void handle(final Statement element) throws Throwable { // TODO if (element == null) { // end of sequence this.axiomHandler.handle(null); } else { // process it } } }