Chame
Invoca uma Função de Realm.
Como o mecanismo de serialização ainda não oferece suporte a bibliotecas de terceiros , há algumas limitações em quais tipos podem ser usados como argumentos e tipos de retorno:
Primitivos, BSON, MutableRealmInt, RealmUUID, ObjectId, RealmInstant, RealmAny, Array, collection e Map são tipos de argumentos válidos.
Os resultados só podem ser desserializados para tipos BSON, MutableRealmInt, RealmUUID, ObjectId, RealmInstant, RealmAny e primitivos
As implementações BSON para arrays ou mapas são BsonArray e BsonDocument, e podem ser usadas como tipos de retorno válidos.
Return
resultado da chamada de função.
Parâmetros
nome da função a ser chamada.
argumentos para a função.
o tipo de valor de retorno da função.
Lança
se a função falhar de alguma forma.
para outras falhas que podem acontecer ao se comunicar com o App Services. Consulte AppException para obter detalhes.
Invoca uma Função de Realm utilizando o codificador EJSON definido em AppConfiguration.ejson.
Observação : este método oferece suporte à serialização completa de documentos. Os argumentos da chamada são definidos com o construtor CallBuilder. Este mesmo construtor também permite vincular manualmente qualquer argumento ou o tipo de retorno a um serializador específico. Os argumentos e o valor de retorno serão codificados e decodificados com AppConfiguration.ejson.
val dog: Dog = user.functions.call("RetrieveDog") {
add("a parameter")
add(1.5, FloatSerializer) // sets the serializer for this particular argument
returnValueSerializer = DogSerializer // sets the serializer for the return type
}
Não podemos usar um genérico porque:
Não há serializador disponível para Qualquer.
Return
resultado da chamada de função.
Parâmetros
nome da função a ser chamada.
bloco de código que define os argumentos e serializadores da chamada.
o tipo de valor de retorno da função.