guru.z3.temple.toolkit.json.JsonLib Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of temple.toolkit Show documentation
Show all versions of temple.toolkit Show documentation
z3 guru base library. Alias name is temple.toolkit
package guru.z3.temple.toolkit.json;
import java.io.*;
/**
* JSON 라이브러리는 여러가지가 있다. 필요에 따라 라이브러리가 변경될 수 있다
* 그럴 때 최소한 함수 호출과 관련되서 소스변경이 없도록 한다
*/
public interface JsonLib
{
/**
* 특정 오브젝트를 JSON문자열로 변환한다.
*
* @param obj 대상 오프젝트
* @return 변환된 JSON문자열
* @throws IOException
*/
public String serialize(Object obj) throws IOException;
/**
* 특정 오브젝트를 JSON 문자열로 변환후 {@link OutputStream}으로 출력한다
*
* @param obj 대상 오프젝트
* @param output 출력지점
* @return 변환된 JSON문자열
* @throws IOException
*/
public void serialize(Object obj, OutputStream output) throws IOException;
/**
* 특정 오브젝트를 JSON문자열로 변환후 {@link Writer}로 출력한다.
*
* @param obj 대상 오프젝트
* @param writer 출력지점
* @return 변환된 JSON문자열
* @throws IOException
*/
public void serialize(Object obj, Writer writer) throws IOException;
/**
* 입력된 JSON 문자열로부터 오브젝트를 추출해낸다
*
* @param json 입력 JSON 문자열
* @param type 오브젝트 타입
* @return 추출된 오브젝트
* @throws IOException
*/
public T deserialize(String json, Class type) throws IOException;
/**
* 입력된 JSON 문자열로부터 오브젝트를 추출해낸다
*
* @param input 입력지점
* @param type 오브젝트 타입
* @return 추출된 오브젝트
* @throws IOException
*/
public T deserialize(InputStream input, Class type) throws IOException;
/**
* 입력된 JSON 문자열로부터 오브젝트를 추출해낸다
*
* @param reader 입력지점
* @param type 오브젝트 타입
* @return 추출된 오브젝트
* @throws IOException
*/
public T deserialize(Reader reader, Class type) throws IOException;
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy