Класс Document
Document
Класс для работы с документами коллекций.
Содержание
- Document
- new Document(collection_name)
- .setField(field, value)
- .saveDocument(callback)
- .getDocumentById(documentId, callback)
- .getField(field)
- .updateDocument()
- .uploadFile(fieldName, fileName, contentToUploadInBase64, callback)
- .getFileLink(fieldName, fileName)
- .removeFile( fieldName, fileName, callback)
- .removeDocument(callback)
new Document(collection_name)
Инициализация экземпляра класса Document
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
collection_name | String |
Обязательное | имя коллекции в которой будет идти работа с документом | "Things" |
Пример
ScorocodeSdk.initWith("db8a1b41b8543397a798a181d9891b4c", "563452bbc611d8106d5da767365897de", "28f06b89b62165c33de55265166d8781", null, null, null);
Document exampleItem = new Document("Items");
.setField(field, value)
Метод для передачи данных полю документа.
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
field | String |
Обязательный | Название поля | "testcoll" |
value | Object |
Обязательный | Данные поля | "huNr3L7QDh" |
Пример
ScorocodeSdk.initWith("db8a1b41b8543397a798a181d9891b4c", "563452bbc611d8106d5da767365897de", "28f06b89b62165c33de55265166d8781", null, null, null);
final Document order = new Document(“orders”);
order.setField(“orderId”, “Ku128A439ads”);
.saveDocument(callback)
Метод сохраняет документ в хранилище данных приложения или обновляет уже имеющийся там документ
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
callback | CallbackDocumentSaved |
Обязательный | Callback, который будет вызван после выполнения запроса. |
Примеры
Пример создания нового документа коллекции
ScorocodeSdk.initWith("db8a1b41b8543397a798a181d9891b4c", "563452bbc611d8106d5da767365897de", "28f06b89b62165c33de55265166d8781", null, null, null);
Document newDocument = new Document(“orderInfo”);
newDocument.setField("isOrderSend", false);
newDocument.setField("buyerName", “Any username”);
newDocument.saveDocument(new CallbackDocumentSaved() {
@Override
public void onDocumentSaved() {
//document saved successful (New document uploaded on server).
}
@Override
public void onDocumentSaveFailed(String errorCode, String errorMessage) {
//document save failed.
}
});
Пример обновления уже имеющегося в БД документа коллекции
final Document document = new Document(“orderInfo”);
document.getDocumentById("KH3JCojAyT", new CallbackFindDocument() {
@Override
public void onDocumentFound(DocumentInfo documentInfo) {
//we found document and we can make changes in it and save it
//...change document fields...
//save
document.saveDocument(new CallbackDocumentSaved() {
@Override
public void onDocumentSaved() {
//document save succeed. Document updated on server
}
@Override
public void onDocumentSaveFailed(String errorCode, String errorMessage) {
//document save failed.
}
});
}
@Override
public void onDocumentNotFound(String errorCode, String errorMessage) {
//document not found. If we try to save document here
//new document will be upload to server as in example 2.1
}
});
.getDocumentById(documentId, callback)
Метод для для получения документа коллекции из БД по его id.
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
documentId | String |
Обязательный | Значение поля id документа коллекции | "nV0p50CDKq" |
callback | CallbackGetDocumentById |
Обязательный | Callback, который будет вызван после выполнения запроса. |
Пример
ScorocodeSdk.initWith("db8a1b41b8543397a798a181d9891b4c", "563452bbc611d8106d5da767365897de", "28f06b89b62165c33de55265166d8781", null, null, null);
final Document document = new Document("ordersCollection");
document.getDocumentById("nV0p50CDKq", new CallbackGetDocumentById() {
@Override
public void onDocumentFound(DocumentInfo documentInfo) {
//document found
}
@Override
public void onDocumentNotFound(String errorCode, String errorMessage) {
//document not found or error occured
}
});
.getField(field)
Метод для получения данных указанного поля документа.
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
field | String |
Обязательный | Имя поля документа | "name" |
Пример
final Document document = new Document(“ordersCollection”);
String orderId = document.getField(“orderId”);
.updateDocument()
Метод для обновления документа при помощи класса Update (см. документацию к классу Update)
.uploadFile(fieldName, fileName, contentToUploadInBase64, callback)
Метод для загрузки файла в поле документа.
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
fieldName | String |
Обязательный | Имя поля документа типа File | "attachment" |
fileName | String |
Обязательный | Имя файла с раширением | "file.txt" |
contentToUploadInBase64 | String |
Обязательный | Контент файла в формате base64 | "VEhJUyBJUyBGSUxFLUUtRS1FLUUtRS1FIQ==" |
callback | CallbackUploadFile |
Обязательный | Callback, который будет вызван после выполнения запроса. |
Пример
final Document document = new Document(“ordersCollection”);
document.getDocumentById("nV0p50CDKq", new CallbackGetDocumentById() {
@Override
public void onDocumentFound(DocumentInfo documentInfo) {
//document found and we can upload document in this file
document.uploadFile("file_field", "any_filename.txt",
Base64.encodeToString("hello world".getBytes(), Base64.DEFAULT), new CallbackUploadFile() {
@Override
public void onDocumentUploaded() {
//document upload succeed
}
@Override
public void onDocumentUploadFailed(String errorCode, String errorMessage) {
//document upload failed
}
});
}
@Override
public void onDocumentNotFound(String errorCode, String errorMessage) {
//document not found
}
});
.getFileLink(fieldName, fileName)
Метод для получения ссылки на файл.
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
fieldName | String |
Обязательный | Имя поля документа типа File | "attachment" |
fileName | String |
Обязательный | Имя файла с раширением | "file.txt" |
Пример
final Document documentWithFile = new Document(“ordersCollection”);
documentWithFile.getDocumentById("nV0p50CDKq", new CallbackFindDocument() {
@Override
public void onDocumentFound(DocumentInfo documentInfo) {
//document found. We can try to get link on file in this document
String fileLink = documentWithFile.getFileLink("test", "file.txt");
}
@Override
public void onDocumentNotFound(String errorCode, String errorMessage) {
//document not found
}
});
.removeFile(fieldName, fileName, callback)
Метод для удаления файла из поля документа
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
fieldName | String |
Обязательный | Имя поля документа типа File | "attachment" |
fileName | String |
Обязательный | Имя файла с раширением | "file.txt" |
callback | CallbackDeleteFile |
Обязательный | Callback, который будет вызван после выполнения запроса. |
Пример
final Document document = new Document(“ordersCollection”);
document.getDocumentById("nV0p50CDKq", new CallbackFindDocument() {
@Override
public void onDocumentFound(DocumentInfo documentInfo) {
//document found we can try to delete file from this doc
document.removeFile("file", "anyname", new CallbackDeleteFile() {
@Override
public void onDocumentDeleted() {
//file deletion succeed
}
@Override
public void onDetelionFailed(String errorCodes, String errorMessage) {
//file deletion failed
}
});
}
@Override
public void onDocumentNotFound(String errorCode, String errorMessage) {
//document not found
}
});
.removeDocument(callback)
Метод для удаления документа из коллекции
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
callback | CallbackRemoveDocument |
Обязательный | Callback, который будет вызван после выполнения запроса. |
Пример
final Document document = new Document(“ordersCollection”);
document.getDocumentById("7BOlVr1Acp", new CallbackFindDocument() {
@Override
public void onDocumentFound(DocumentInfo documentInfo) {
//we found document in collection and can remove it
document.removeDocument(new CallbackRemoveDocument() {
@Override
public void onRemoveSucceed(ResponseRemove responseRemove) {
//document removed
}
@Override
public void onRemoveFailed(String errorCode, String errorMessage) {
//remove operation failed
}
});
}
@Override
public void onDocumentNotFound(String errorCode, String errorMessage) {
//document wasn’t found
}
});