The class that implements the creator, called CJavaVM in the following example, must export the PBX_GetDescription function. It inherits from NonVisualObject and has two functions, CreateJavaObject and CreateJavaVM:
PBXEXPORT LPCTSTR PBXCALL PBX_GetDescription() { static const TCHAR desc[] = { "class javavm from nonvisualobject\n" "function long createjavavm(string classpath, string properties[])\n" "function long createjavaobject(ref powerobject proxyobject, readonly string javaclassname, readonly string proxyname)\n" "end class\n" }; return desc; }