JavaInstanceClass FactoryCreate#
-
static inline JavaInstanceClass YR::JavaInstanceClass::FactoryCreate(const std::string &className)#
Create a JavaInstanceClass object for invoking Java functions.
// Java code: package io.yuanrong.demo; // A regular Java class. public class Counter { private int value = 0; public int increment() { this.value += 1; return this.value; } } // C++ code: int main(void) { YR::Config conf; YR::Init(conf); auto javaInstance = YR::JavaInstanceClass::FactoryCreate("io.yuanrong.demo.Counter"); auto r1 = YR::Instance(javaInstance).Invoke(); auto r2 = r1.JavaFunction<int>("increment").Invoke(1); auto res = *YR::Get(r2); std::cout << "PlusOneWithJavaClass with result=" << res << std::endl; return res; }
- Parameters:
className – The fully qualified class name of the Java class, including package name. If the class is an inner static class, use ‘$’ to connect the outer class and inner class.
- Returns:
A JavaInstanceClass object that carries the necessary information to create a Java function class instance. This object can be passed to YR::Instance as a parameter.