JsonProvider源码翻译
来源:互联网 发布:ubuntu 配置保存 编辑:程序博客网 时间:2024/06/05 12:22
package javax.json.spi;import javax.json.*;import javax.json.stream.JsonGenerator;import javax.json.stream.JsonGeneratorFactory;import javax.json.stream.JsonParser;import javax.json.stream.JsonParserFactory;import java.io.InputStream;import java.io.OutputStream;import java.io.Reader;import java.io.Writer;import java.util.Iterator;import java.util.Map;import java.util.ServiceLoader;/** * 目的:处理JSON的Service provider * * <p>该类所有的方法都是线程安全的,使用在多并发线程。 * @author TCM * @create 2017年11月7日上午9:25:24 * @see ServiceLoader */public abstract class JsonProvider {//常量名,默认{@code JsonProvider}的实现类 private static final String DEFAULT_PROVIDER = "org.glassfish.json.JsonProviderImpl"; protected JsonProvider() {} /** * 创建JsonProvider对象。使用{@link ServiceLoader#load(Class)}方法 * 创建该对象。如果没有可用的服务供应商(service provider),该方法返回默认。 * @see ServiceLoader * @return a JSON provider */ public static JsonProvider provider() { ServiceLoader<JsonProvider> loader = ServiceLoader.load(JsonProvider.class); Iterator<JsonProvider> it = loader.iterator(); if (it.hasNext()) { return it.next();//若有,则返回 } try { //若没有,则返回默认:"org.glassfish.json.JsonProviderImpl" Class<?> clazz = Class.forName(DEFAULT_PROVIDER); return (JsonProvider)clazz.newInstance(); } catch (ClassNotFoundException x) { throw new JsonException( "Provider " + DEFAULT_PROVIDER + " not found", x); } catch (Exception x) { throw new JsonException( "Provider " + DEFAULT_PROVIDER + " could not be instantiated: " + x, x); } } public abstract JsonParser createParser(Reader reader); public abstract JsonParser createParser(InputStream in); public abstract JsonParserFactory createParserFactory(Map<String, ?> config); public abstract JsonGenerator createGenerator(Writer writer); public abstract JsonGenerator createGenerator(OutputStream out); public abstract JsonGeneratorFactory createGeneratorFactory(Map<String, ?> config); public abstract JsonReader createReader(Reader reader); public abstract JsonReader createReader(InputStream in); public abstract JsonReaderFactory createReaderFactory(Map<String,?> config); public abstract JsonWriter createWriter(Writer writer); public abstract JsonWriter createWriter(OutputStream out); public abstract JsonWriterFactory createWriterFactory(Map<String,?> config); public abstract JsonObjectBuilder createObjectBuilder(); public abstract JsonArrayBuilder createArrayBuilder(); public abstract JsonBuilderFactory createBuilderFactory(Map<String,?> config);}
阅读全文
0 0
- JsonProvider源码翻译
- 关于CXF JSonProvider
- tasklet源码注释翻译
- AsyncTask源码翻译
- TextUtils源码翻译
- Handler源码翻译
- Serializable源码翻译
- @Generated源码翻译
- @PostConstruct、@PreDestroy源码翻译
- @ManagedBean源码翻译
- @Resource、@Resources源码翻译
- @Target、ElementType源码翻译
- @Retention、RetentionPolicy源码翻译
- @Inject源码翻译
- @Scope、@Singleton源码翻译
- Servlet、ServletConfig源码翻译
- ServletContext源码翻译
- AsyncContext源码翻译
- Spring的jdbcTemplate操作
- SubList分页-006-jdbcUtils类
- 实现List集合中数据逆序排列
- 【BigHereo 50】---Datastructure---数据结构大总结(八)
- Ajax(1)
- JsonProvider源码翻译
- 设计模式之单例模式(Java)
- Python学习---11
- iconfont
- Spring Cloud 微服务实战——Java开发人员必须掌握的技术
- Web Scraping with Python:使用 Python 导出 CSDN 博客全部文章(保留样式)和附带图片
- SubList分页-007-Dao类
- log4j.properties配置详解与实例
- http 请求转发服务器