본문으로 건너뛰기

SyncDocument

SyncDatabase에 저장되어 있는 논리적인 document 객체입니다. 사용자에 의해 데이터가 변경되면 주어진 이름으로 SyncDatabase에 자동으로 저장합니다.

Summary

Public functions
String
key()

현재 노드의 경로를 반환합니다.

SyncDocument
child(key: String)

주어진 이름의 하위 노드를 반환합니다.

SyncDocument
paths(vararg key: String)

현재 노드를 기준으로 주어진 경로의 하위 노드를 반환합니다.

T?

<T> value(clazz: Class<T>)

현재 노드의 데이터를 주어진 타입으로 역직렬화하여 반환합니다.

ResultCompat<Boolean>

setKeyValue(value:Any, key: String? = null)

지정한 하위 노드 또는 현재 노드에 주어진 값을 설정합니다.

ResultCompat<Boolean>

unsetKeyValue(key: String)

현재 노드에서 주어진 경로의 항목을 삭제합니다.

ResultCompat<Boolean>

insertToArray(pos: Int , vararg value: Object)

현재 노드가 배열이라면 주어진 항목들을 주어진 위치에 추가합니다.

ResultCompat<Boolean>

appendToArray(vararg value: Object)

현재 노드가 배열이라면 주어진 항목을 마지막에 추가합니다.

ResultCompat<Boolean>

updateInArray(pos: Int , vararg value: Object)

현재 노드가 배열이라면 주어진 위치에서 주어진 항목들을 덮어 씁니다.

ResultCompat<Boolean>

deleteInArray(pos: Int, count: Int = 1)

현재 노드가 배열이라면 주어진 위치에서 주어진 개수만큼 삭제합니다.

void
addDocumentEventListener(listener: DocumentEventListener)

document 데이터 변경,에러 이벤트를 수신받기 위한 콜백을 등록합니다.

void
removeDocumentEventListener(listener: DocumentEventListener)

현재 document에서 콜백을 제거합니다.

Public properties
SyncDatabase
val database: SyncDatabase

SyncDatabase 싱글턴 객체를 반환합니다.

SyncDocument?

val root: SyncDocument?

최상위 노드를 반환합니다.

SyncDocument?

val parent: SyncDocument?

부모 노드를 반환합니다.

String?
val jsonString: String?

직렬화된 JSON 문자열을 반환합니다.

주의

SyncDocument는 SyncDatabase에 의해 자동으로 관리됩니다. 생성자를 직접 호출하지 마세요.


Public functions

key()
fun key(): String

현재 노드의 경로를 반환합니다.

Returns

String

현재 노드의 경로

child()
fun child(key: String): SyncDocument

주어진 이름의 하위 노드를 반환합니다.

Parameters

String

하위 노드 이름
Returns
SyncDocument하위 노드

paths()
fun paths(vararg key: String): SyncDocument

현재 노드를 기준으로 주어진 경로의 하위 노드를 반환합니다.

Parameters

vararg String

하위 노드 경로 배열
Returns
SyncDocument하위 노드

value()
fun <T> value(clazz: Class<T>): T?

현재 노드의 데이터를 주어진 타입으로 역직렬화하여 반환합니다.

Parameters

Class<T>

직렬화하고자하는 POJO 클래스
Returns

T?

역직렬화된 객체
정보

POJO 클래스의 일부 변수가 Json string이 직렬화 대상에서 찾을 수 없다면 null이 반환됩니다.


setKeyValue()
fun setKeyValue(value: Object , key: String = null): ResultCompat<Boolean>

지정한 하위 노드 또는 현재 노드에 주어진 값을 설정합니다.

Parameters

@Nullable Object

설정 데이터

String

하위 노드 경로
Returns

ResultCompat<Boolean>

ResultCompat

unsetKeyValue()
fun unsetKeyValue(key: String): ResultCompat<Boolean>

현재 노드에서 주어진 경로의 항목을 삭제합니다.

Parameters
String하위 노드 경로
Returns

ResultCompat<Boolean>

ResultCompat

insertToArray()
fun insertToArray(pos: Int , vararg value: Object): ResultCompat<Boolean>

현재 노드가 배열이라면 주어진 항목들을 주어진 위치에 추가합니다.

Parameters

Int

추가하려는 위치

vararg Object

추가하려는 값 배열
Returns

ResultCompat<Boolean>

ResultCompat

updateInArray()
fun updateInArray(pos: Int, vararg value: Object): ResultCompat<Boolean>

현재 노드가 배열이라면 주어진 위치에서 주어진 항목들을 덮어 씁니다.

Parameters

Int

덮어쓰려는 위치

vararg Object

덮어쓰려는 값 배열
Returns

ResultCompat<Boolean>

ResultCompat

deleteInArray()
fun deleteInArray(pos: Int, count: Int = 1): ResultCompat<Boolean>

현재 노드가 배열이라면 주어진 위치에서 주어진 개수만큼 삭제합니다.

Parameters

Int

삭제하려는 위치

Int

삭제할 개수
Returns

ResultCompat<Boolean>

ResultCompat

addDocumentEventListener()
fun addDocumentEventListener(listener: DocumentEventListener)

document 데이터 변경,에러 이벤트를 수신받기 위한 콜백을 등록합니다.

Parameters
DocumentEventListenerDocumentEventListener

removeDocumentEventListener()
fun removeDocumentEventListener(listener: DocumentEventListener )

현재 document에서 콜백을 제거합니다.

Parameters
DocumentEventListenerDocumentEventListener