类函数
- java.lang.Object
-
- io.realm.mongodb.functions.Functions
-
public abstract class Functions extends Object
函数管理器,用于为关联的 Realm 应用调用远程 Realm 函数。参数和结果使用 函数的 编解码器注册表进行编码/解码,该注册表可以从 继承,也可以在通过
AppConfiguration.getDefaultCodecRegistry()
callFunction(String, List, Class, CodecRegistry)
或单独调用User.getFunctions(CodecRegistry)
创建 函数 实例时进行显式设置。
-
-
方法摘要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 <ResultT> ResultT
callFunction(String name, List<?> args, Class<ResultT> resultClass)
使用默认编解码器注册表编码/解码参数/结果同步调用 MongoDB Realm 函数。<ResultT> ResultT
callFunction(String name, List<?> args, Class<ResultT> resultClass, CodecRegistry codecRegistry)
使用自定义编解码器注册表编码/解码参数/结果同步调用 MongoDB Realm 函数。<ResultT> ResultT
callFunction(String name, List<?> args, Decoder<ResultT> resultDecoder)
使用自定义结果解码器同步调用 MongoDB Realm 函数。<T> RealmAsyncTask
callFunctionAsync(String name, List<?> args, Class<T> resultClass, App.Callback<T> callback)
使用自定义编解码器注册表异步调用 MongoDB Realm 函数,以对参数/结果进行编码/解码。<T> RealmAsyncTask
callFunctionAsync(String name, List<?> args, Class<T> resultClass, CodecRegistry codecRegistry, App.Callback<T> callback)
使用自定义编解码器注册表异步调用 MongoDB Realm 函数,以对参数/结果进行编码/解码。<T> RealmAsyncTask
callFunctionAsync(String name, List<?> args, Decoder<T> resultDecoder, App.Callback<T> callback)
使用自定义结果解码器异步调用 MongoDB Realm 函数。App
getApp()
返回与此实例关联的App
。CodecRegistry
getDefaultCodecRegistry()
返回用于此Realm 函数实例的参数编码和结果解码的默认编解码器注册表。User
getUser()
返回与此实例关联的User
。
-
-
-
方法详细信息
-
callFunction
public <ResultT> ResultT callFunction(String name, List<?> args, Class<ResultT> resultClass, CodecRegistry codecRegistry)
使用自定义编解码器注册表编码/解码参数/结果同步调用 MongoDB Realm 函数。- 类型参数:
ResultT
— 使用codecRegistry
来解码响应的类型。- 参数:
name
— 要调用的 Realm 函数的名称。args
— Realm 函数的参数。resultClass
- 函数结果应转换为的类型。codecRegistry
— 用于参数编码和结果解码的编解码器注册表。- 返回:
- Realm 函数的结果。
- 抛出异常:
AppException
- 如果请求因某种原因失败。- 另请参阅:
callFunctionAsync(String, List, Class, CodecRegistry, App.Callback)
,AppConfiguration.getDefaultCodecRegistry()
-
callFunction
public <ResultT> ResultT callFunction(String name, List<?> args, Class<ResultT> resultClass)
使用默认编解码器注册表编码/解码参数/结果同步调用 MongoDB Realm 函数。- 类型参数:
ResultT
- 使用默认编解码器注册表对响应进行解码的类型。- 参数:
name
— 要调用的 Realm 函数的名称。args
— Realm 函数的参数。resultClass
- 函数结果应转换为的类型。- 返回:
- Realm 函数的结果。
- 抛出异常:
AppException
- 如果请求因某种原因失败。- 另请参阅:
callFunction(String, List, Class, CodecRegistry)
,AppConfiguration.getDefaultCodecRegistry()
-
callFunction
public <ResultT> ResultT callFunction(String name, List<?> args, Decoder<ResultT> resultDecoder)
使用自定义结果解码器同步调用 MongoDB Realm 函数。参数将使用默认编解码器注册表编码进行编码。
- 类型参数:
ResultT
- 响应将解码为使用resultDecoder
- 参数:
name
— 要调用的 Realm 函数的名称。args
— Realm 函数的参数。resultDecoder
- 用于解码结果的解码器。- 返回:
- Realm 函数的结果。
- 抛出异常:
AppException
- 如果请求因某种原因失败。- 另请参阅:
callFunction(String, List, Class, CodecRegistry)
,AppConfiguration.getDefaultCodecRegistry()
-
callFunctionAsync
public <T> RealmAsyncTask callFunctionAsync(String name, List<?> args, Class<T> resultClass, CodecRegistry codecRegistry, App.Callback<T> callback)
使用自定义编解码器注册表异步调用 MongoDB Realm 函数,以对参数/结果进行编码/解码。- 类型参数:
T
- 使用默认编解码器注册表对响应进行解码的类型。- 参数:
name
— 要调用的 Realm 函数的名称。args
— Realm 函数的参数。resultClass
- 函数结果应转换为的类型。codecRegistry
— 用于参数编码和结果解码的编解码器注册表。callback
- 将接收请求结果或任何错误的回调。- 返回:
- 代表正在进行的操作的任务。
- 抛出异常:
IllegalStateException
- 如果未在 Looper 线程上调用。- 另请参阅:
callFunction(String, List, Class, CodecRegistry)
,callFunctionAsync(String, List, Class, CodecRegistry, App.Callback)
,AppConfiguration.getDefaultCodecRegistry()
-
callFunctionAsync
public <T> RealmAsyncTask callFunctionAsync(String name, List<?> args, Class<T> resultClass, App.Callback<T> callback)
使用自定义编解码器注册表异步调用 MongoDB Realm 函数,以对参数/结果进行编码/解码。这相当于
callFunction(String, List, Class)
的异步操作。- 类型参数:
T
- 使用默认编解码器注册表对响应进行解码的类型。- 参数:
name
— 要调用的 Realm 函数的名称。args
— Realm 函数的参数。resultClass
- 函数结果应转换为的类型。callback
- 将接收请求结果或任何错误的回调。- 返回:
- 代表正在进行的操作的任务。
- 抛出异常:
IllegalStateException
- 如果未在 Looper 线程上调用。- 另请参阅:
callFunction(String, List, Class)
,callFunctionAsync(String, List, Class, CodecRegistry, App.Callback)
,AppConfiguration.getDefaultCodecRegistry()
-
callFunctionAsync
public <T> RealmAsyncTask callFunctionAsync(String name, List<?> args, Decoder<T> resultDecoder, App.Callback<T> callback)
使用自定义结果解码器异步调用 MongoDB Realm 函数。这相当于
callFunction(String, List, Decoder)
的异步操作。- 类型参数:
T
- 响应将解码为使用resultDecoder
- 参数:
name
— 要调用的 Realm 函数的名称。args
— Realm 函数的参数。resultDecoder
- 用于解码结果的解码器。callback
- 将接收请求结果或任何错误的回调。- 返回:
- 代表正在进行的操作的任务。
- 抛出异常:
IllegalStateException
- 如果未在 Looper 线程上调用。- 另请参阅:
callFunction(String, List, Class)
,callFunctionAsync(String, List, Class, CodecRegistry, App.Callback)
,AppConfiguration.getDefaultCodecRegistry()
-
getDefaultCodecRegistry
public CodecRegistry getDefaultCodecRegistry()
返回用于此Realm 函数实例的参数编码和结果解码的默认编解码器注册表。- 返回:
- 默认编解码器注册表。
-
-