me.icymint.libra.xml.XmlParser Maven / Gradle / Ivy
package me.icymint.libra.xml;
import java.io.InputStream;
import java.io.OutputStream;
/**
* 一次性解析XML接口。
*
* @author Administrator
*
* @param
* 需要解析成的对象。
* @param
* 解析过程的需要的公共参数。一般的{@link T}会注入{@link V}值。
*/
public interface XmlParser {
/**
* 解析xml流。
*
* @param is
* @param properties
* @return 解析以后的Java对象。
* @throws XmlParserException
*/
T parser(InputStream is, V properties) throws XmlParserException;
/**
* 把Java对象保存为xml文件。
*
* @param t
* @param os
* @throws XmlParserException
*/
void store(T t, OutputStream os) throws XmlParserException;
/**
* 验证流是否有效。 需要提供xsd文件。
*
* @param is
* @throws XmlParserException
* 当文档输入流有问题的时候,抛出此违例。
*/
boolean validate(InputStream is) throws XmlParserException;
}