Instance#
YR.instance()#
包名: org.yuanrong。
云下 Java 函数创建云上 Java 类实例并调用成员函数,当前构造函数支持 0 ~ 5 个入参。若传入 name,或者同时传入 name 和 nameSpace,表示该实例为具名实例,实例名由用户指定,可以通过该实例名进行实例的复用。
public class YRCall extends YRGetInstance#
YR Call 类型。
接口说明#
public static <A> InstanceCreator<A> instance(YRFunc0<A> func)#
创建 InstanceCreator 类实例。
public static class MyYRApp{
public static String myFunction() throws YRException, ExecutionException{
return "hello world";
}
}
public static void main(String[] args) throws Exception {
Config conf = new Config("FunctionURN", "ip", "ip", "", false);
YR.init(conf);
MyYRApp myapp = new MyYRApp();
InstanceCreator<MyYRApp> myYRapp = YR.instance(MyYRApp::new);
InstanceHandler h_myYRapp = myYRapp.invoke();
System.out.println("InstanceHandler:" + h_myYRapp);
InstanceFunctionHandler<String> f_h_myYRapp = h_myYRapp.function(MyYRApp::myFunction);
ObjectRef res = f_h_myYRapp.invoke();
System.out.println("myFunction invoke ref:" + res.getObjId());
YR.Finalize();
}
参数:
<A> - 返回值类型。
func - 函数名。
返回:
InstanceCreator 类实例。
public static <A> InstanceCreator<A> instance(YRFunc0<A> func, String name)#
创建 InstanceCreator 类实例。
public static class MyYRApp{
public static String myFunction() throws YRException, ExecutionException{
return "hello world";
}
}
public static void main(String[] args) throws Exception {
Config conf = new Config("FunctionURN", "ip", "ip", "", false);
YR.init(conf);
MyYRApp myapp = new MyYRApp();
// The instance name of this named instance is funcB
InstanceCreator<MyYRApp> myYRapp = YR.instance(MyYRApp::new, "funcB");
InstanceHandler h_myYRapp = myYRapp.invoke();
System.out.println("InstanceHandler:" + h_myYRapp);
InstanceFunctionHandler<String> f_h_myYRapp = h_myYRapp.function(MyYRApp::myFunction);
ObjectRef res = f_h_myYRapp.invoke();
System.out.println("myFunction invoke ref:" + res.getObjId());
// A handle to a named instance of funcB will be generated, and the funcB instance will be reused.
InstanceCreator<MyYRApp> creator = YR.instance(MyYRApp::new, "funcB");
InstanceHandler handler = creator.invoke();
System.out.println("InstanceHandler:" + handler);
InstanceFunctionHandler<String> funcHandler = handler.function(MyYRApp::myFunction);
res = funcHandler.invoke();
System.out.println("myFunction invoke ref:" + res.getObjId());
YR.Finalize();
}
参数:
<A> - 返回值类型。
func - 函数名。
name - 具名实例的实例名,第二入参。当仅存在 name 时,实例名将设置成 name。
返回:
InstanceCreator 类实例。
public static <A> InstanceCreator<A> instance(YRFunc0<A> func, String name, String nameSpace)#
创建 InstanceCreator 类实例。
public static class MyYRApp{
public static String myFunction() throws YRException, ExecutionException{
return "hello world";
}
}
public static void main(String[] args) throws Exception {
Config conf = new Config("FunctionURN", "ip", "ip", "", false);
YR.init(conf);
MyYRApp myapp = new MyYRApp();
// The instance name of this named instance is nsA-funcB
InstanceCreator<MyYRApp> myYRapp = YR.instance(MyYRApp::new, "funcB", "nsA");
InstanceHandler h_myYRapp = myYRapp.invoke();
System.out.println("InstanceHandler:" + h_myYRapp);
InstanceFunctionHandler<String> f_h_myYRapp = h_myYRapp.function(MyYRApp::myFunction);
ObjectRef res = f_h_myYRapp.invoke();
System.out.println("myFunction invoke ref:" + res.getObjId());
// A handle to the named instance of nsA-funcB will be generated, reusing the nsA-funcB instance
InstanceCreator<MyYRApp> creator = YR.instance(MyYRApp::new, "funcB", "nsA");
InstanceHandler handler = creator.invoke();
System.out.println("InstanceHandler:" + handler);
InstanceFunctionHandler<String> funcHandler = handler.function(MyYRApp::myFunction);
res = funcHandler.invoke();
System.out.println("myFunction invoke ref:" + res.getObjId());
YR.Finalize();
}
参数:
<A> - 返回值类型。
func - 函数名。
name - 具名实例的实例名,第二入参。当仅存在 name 时,实例名将设置成 name。
nameSpace - nameSpace 具名实例的命名空间,当 name 和 nameSpace 均存在时,实例名将拼接成 nameSpace-name,该字段目前仅用做拼接。
返回:
InstanceCreator 类实例。
public static <T0, A> InstanceCreator<A> instance(YRFunc1<T0, A> func)#
创建 InstanceCreator 类实例。
参数:
<T0> - 入参类型。
<A> - 返回值类型。
func - 函数名。
返回:
InstanceCreator 类实例。
public static <T0, A> InstanceCreator<A> instance(YRFunc1<T0, A> func, String name)#
创建 InstanceCreator 类实例。
参数:
<T0> - 入参类型。
<A> - 返回值类型。
func - 函数名。
name - 具名实例的实例名,第二入参。当仅存在 name 时,实例名将设置成 name。
返回:
InstanceCreator 类实例。
public static <T0, A> InstanceCreator<A> instance(YRFunc1<T0, A> func, String name, String nameSpace)#
创建 InstanceCreator 类实例。
参数:
<T0> - 入参类型。
<A> - 返回值类型。
func - 函数名。
name - 具名实例的实例名,第二入参。当仅存在 name 时,实例名将设置成 name。
nameSpace - nameSpace 具名实例的命名空间,当 name 和 nameSpace 均存在时,实例名将拼接成 nameSpace-name,该字段目前仅用做拼接。
返回:
InstanceCreator 类实例。
public static <T0, T1, A> InstanceCreator <A> instance (YRFunc2<T0, T1, A> func)#
创建 InstanceCreator 类实例。
参数:
<T0> - 入参类型。
<T1> - 入参类型。
<A> - 返回值类型。
func - 函数名。
返回:
InstanceCreator 类实例。
public static <T0, T1, A> InstanceCreator <A> instance (YRFunc2<T0, T1, A> func, String name)#
创建 InstanceCreator 类实例。
参数:
<T0> - 入参类型。
<T1> - 入参类型。
<A> - 返回值类型。
func - 函数名。
name - 具名实例的实例名,第二入参。当仅存在 name 时,实例名将设置成 name。
返回:
InstanceCreator 类实例。
public static <T0, T1, A> InstanceCreator <A> instance (YRFunc2<T0, T1, A> func, String name, String nameSpace)#
创建 InstanceCreator 类实例。
参数:
<T0> - 入参类型。
<T1> - 入参类型。
<A> - 返回值类型。
func - 函数名。
name - 具名实例的实例名,第二入参。当仅存在 name 时,实例名将设置成 name。
nameSpace - nameSpace 具名实例的命名空间,当 name 和 nameSpace 均存在时,实例名将拼接成 nameSpace-name,该字段目前仅用做拼接。
返回:
InstanceCreator 类实例。
public static <T0, T1, T2, A> InstanceCreator <A> instance (YRFunc3<T0, T1, T2, A> func)#
创建 InstanceCreator 类实例。
参数:
<T0> - 入参类型。
<T1> - 入参类型。
<T2> - 入参类型。
<A> - 返回值类型。
func - 函数名。
返回:
InstanceCreator 类实例。
public static <T0, T1, T2, A> InstanceCreator <A> instance (YRFunc3<T0, T1, T2, A > func, String name)#
创建 InstanceCreator 类实例。
参数:
<T0> - 入参类型。
<T1> - 入参类型。
<T2> - 入参类型。
<A> - 返回值类型。
func - 函数名。
name - 具名实例的实例名,第二入参。当仅存在 name 时,实例名将设置成 name。
返回:
InstanceCreator 类实例。
public static <T0, T1, T2, A> InstanceCreator< A> instance (YRFunc3<T0, T1, T2, A> func, String name, String nameSpace)#
创建 InstanceCreator 类实例。
参数:
<T0> - 入参类型。
<T1> - 入参类型。
<T2> - 入参类型。
<A> - 返回值类型。
func - 函数名。
name - 具名实例的实例名,第二入参。当仅存在 name 时,实例名将设置成 name。
nameSpace - nameSpace 具名实例的命名空间,当 name 和 nameSpace 均存在时,实例名将拼接成 nameSpace-name,该字段目前仅用做拼接。
返回:
InstanceCreator 类实例。
public static <T0, T1, T2, T3, A> InstanceCreator< A> instance (YRFunc4<T0, T1, T2, T3, A> func)#
创建 InstanceCreator 类实例。
参数:
<T0> - 入参类型。
<T1> - 入参类型。
<T2> - 入参类型。
<T3> - 入参类型。
<A> - 返回值类型。
func - 函数名。
返回:
InstanceCreator 类实例。
public static <T0, T1, T2, T3, A> InstanceCreator< A> instance (YRFunc4<T0, T1, T2, T3, A> func, String name)#
创建 InstanceCreator 类实例。
参数:
<T0> - 入参类型。
<T1> - 入参类型。
<T2> - 入参类型。
<T3> - 入参类型。
<A> - 返回值类型。
func - 函数名。
name - 具名实例的实例名,第二入参。当仅存在 name 时,实例名将设置成 name。
返回:
InstanceCreator 类实例。
public static <T0, T1, T2, T3, A> InstanceCreator< A> instance (YRFunc4<T0, T1, T2, T3, A> func, String name, String nameSpace)#
创建 InstanceCreator 类实例。
参数:
<T0> - 入参类型。
<T1> - 入参类型。
<T2> - 入参类型。
<T3> - 入参类型。
<A> - 返回值类型。
func - 函数名。
name - 具名实例的实例名,第二入参。当仅存在 name 时,实例名将设置成 name。
nameSpace - nameSpace 具名实例的命名空间,当 name 和 nameSpace 均存在时,实例名将拼接成 nameSpace-name,该字段目前仅用做拼接。
返回:
InstanceCreator 类实例。
public static <T0, T1, T2, T3, T4, A> InstanceCreator< A> instance (YRFunc5<T0, T1, T2, T3, T4, A> func)#
创建 InstanceCreator 类实例。
参数:
<T0> - 入参类型。
<T1> - 入参类型。
<T2> - 入参类型。
<T3> - 入参类型。
<T4> - 入参类型。
<A> - 返回值类型。
func - 函数名。
返回:
InstanceCreator 类实例。
public static <T0, T1, T2, T3, T4, A> InstanceCreator< A> instance (YRFunc5<T0, T1, T2, T3, T4, A> func, String name)#
创建 InstanceCreator 类实例。
参数:
<T0> - 入参类型。
<T1> - 入参类型。
<T2> - 入参类型。
<T3> - 入参类型。
<T4> - 入参类型。
<A> - 返回值类型。
func - 函数名。
name - 具名实例的实例名,第二入参。当仅存在 name 时,实例名将设置成 name。
返回:
InstanceCreator 类实例。
public static <T0, T1, T2, T3, T4, A> InstanceCreator< A> instance (YRFunc5<T0, T1, T2, T3, T4, A> func, String name, String nameSpace)#
创建 InstanceCreator 类实例。
参数:
<T0> - 入参类型。
<T1> - 入参类型。
<T2> - 入参类型。
<T3> - 入参类型。
<T4> - 入参类型。
<A> - 返回值类型。
func - 函数名。
name - 具名实例的实例名,第二入参。当仅存在 name 时,实例名将设置成 name。
nameSpace - nameSpace 具名实例的命名空间,当 name 和 nameSpace 均存在时,实例名将拼接成 nameSpace-name,该字段目前仅用做拼接。
返回:
InstanceCreator 类实例。
public static JavaInstanceCreator instance(JavaInstanceClass javaInstanceClass)#
创建 JavaInstanceCreator 类实例。
参数:
javaInstanceClass - java 类。
返回:
JavaInstanceCreator 类实例。
public static JavaInstanceCreator instance(JavaInstanceClass javaInstanceClass, String name)#
创建 JavaInstanceCreator 类实例。
参数:
javaInstanceClass - java 类。
name - 具名实例的实例名,第二入参。当仅存在 name 时,实例名将设置成 name。
返回:
JavaInstanceCreator 类实例。
public static JavaInstanceCreator instance(JavaInstanceClass javaInstanceClass, String name, String nameSpace)#
创建 JavaInstanceCreator 类实例。
参数:
javaInstanceClass - java 类。
name - 具名实例的实例名,第二入参。当仅存在 name 时,实例名将设置成 name。
nameSpace - nameSpace 具名实例的命名空间,当 name 和 nameSpace 均存在时,实例名将拼接成 nameSpace-name,该字段目前仅用做拼接。
返回:
JavaInstanceCreator 类实例。
public static CppInstanceCreator instance(CppInstanceClass cppInstanceClass)#
创建 CppInstanceCreator 类实例。
参数:
cppInstanceClass - cpp 类。
返回:
CppInstanceCreator 类实例。
public static CppInstanceCreator instance(CppInstanceClass cppInstanceClass, String name)#
创建 CppInstanceCreator 类实例。
参数:
cppInstanceClass - cpp 类。
name - 具名实例的实例名,第二入参。当仅存在 name 时,实例名将设置成 name。
返回:
CppInstanceCreator 类实例。
public static CppInstanceCreator instance(CppInstanceClass cppInstanceClass, String name, String nameSpace)#
创建 CppInstanceCreator 类实例。
参数:
cppInstanceClass - cpp 类。
name - 具名实例的实例名,第二入参。当仅存在 name 时,实例名将设置成 name。
nameSpace - nameSpace 具名实例的命名空间,当 name 和 nameSpace 均存在时,实例名将拼接成 nameSpace-name,该字段目前仅用做拼接。
返回:
CppInstanceCreator 类实例。