io.sirix.service.xml.shredder.Shredder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sirix-core Show documentation
Show all versions of sirix-core Show documentation
SirixDB is a hybrid on-disk and in-memory document oriented, versioned database system. It has a lightweight buffer manager, stores everything in a huge persistent and durable tree and allows efficient reconstruction of every revision. Furthermore, SirixDB implements change tracking, diffing and supports time travel queries.
package io.sirix.service.xml.shredder;
import io.sirix.exception.SirixException;
/**
* Interface all shredders have to implement.
*
* @author Johannes Lichtenberger, University of Konstanz
* //todo QName reference
* @param generic type parameter for start tag/end tags (usually a {@link io.brackit.query.atomic.QNm}
* @param generic type parameter for text nodes (usually a String)
*/
public interface Shredder {
/**
* Process a processing instruction.
*
* @param content the content
* @param target the target
*/
void processPI(S content, S target) throws SirixException;
/**
* Process a comment.
*
* @param value the value
*/
void processComment(S value) throws SirixException;
/**
* Process a start tag.
*
* @param name name, usually a {@link io.brackit.query.atomic.QNm}
* @throws SirixException if Sirix fails to insert a new node
*/
void processStartTag(T name) throws SirixException;
/**
* Process a text node
*
* @param text text, usually of type String
* @throws SirixException if Sirix fails to insert a new node
*/
void processText(S text) throws SirixException;
/**
* Process an end tag.
*
* @param name name, usually a {@link io.brackit.query.atomic.QNm}
* @throws SirixException if Sirix fails to insert a new node
*/
void processEndTag(T name) throws SirixException;
/**
* Process an empty element.
*
* @param name name, usually a {@link io.brackit.query.atomic.QNm}
* @throws SirixException if Sirix fails to insert a new node
*/
void processEmptyElement(T name) throws SirixException;
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy