package javax.json;
import java.io.OutputStream;
import java.io.Writer;
import java.nio.charset.Charset;
import java.util.Map;
/**
* 目的:工厂创建JsonWriter实例
*
* <p>工厂创建{@link javax.json.JsonWriter}实例,工厂实例配置都是相同点的,可以使用该
* 配置创建JsonReader实例。
*
* <p>{@link Json}的方法createWriter()也可以创建JsonWriter实例。若果需要创建
* 多个JsonWriter实例,则优先选择工厂方法创建。例如:
* JsonWriterFactory factory = Json.createWriterFactory(...);
* JsonWriter writer1 = factory.createWriter(...);
* JsonWriter writer2 = factory.createWriter(...);
*
* <p>该类所有的方法都是线程安全的。
* @author TCM
* @create 2017年11月3日上午9:45:09
*/
public interface JsonWriterFactory {
//字符流Reader创建JsonWriter
JsonWriter createWriter(Writer writer);
//字节流OutputStream创建JsonWriter(与编码集有关)
JsonWriter createWriter(OutputStream out);
JsonWriter createWriter(OutputStream out, Charset charset);
//获取JsonWriter配置属性的map
Map<String, ?> getConfigInUse();
}
package javax.json;
import java.io.Closeable;
/**
* 目的:JsonObject或JsonArray写入输出源中
*
* <p>例如:
* JsonWriter jsonWriter = Json.createWriter(...);
* jsonWriter.writeObject(Json.createObjectBuilder().build());
* jsonWriter.close();
* @author TCM
* @create 2017年11月3日上午10:19:16
*/
public interface JsonWriter extends /*Auto*/Closeable {
//JsonArray写入输出源
void writeArray(JsonArray array);
//writeObject写入输出源
void writeObject(JsonObject object);
//JsonArray或writeObject写入输出源
void write(JsonStructure value);
//关闭并释放资源
@Override
void close();
}