ai-patterns/langchain4j-function-calling-google-ai/src/main/java/services/gemini/Langchain4JFunctionCallingApplication.java [140:161]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
		public void registerHints(RuntimeHints hints, ClassLoader classLoader) {
			try {
				// Register all the classes and methods that are used through reflection
				// or dynamic proxy generation in LangChain4j, especially those
				// related to function calling.
				// Register method for reflection
				var mcs = MemberCategory.values();
				hints.reflection().registerType(Langchain4JFunctionCallingApplication.Assistant.class, mcs);
				hints.proxies().registerJdkProxy(Langchain4JFunctionCallingApplication.Assistant.class);
				hints.reflection().registerType(FunctionCallingService.class, mcs);

				hints.reflection().registerMethod(
						FunctionCallingService.class.getMethod("paymentStatus", String.class),
						ExecutableMode.INVOKE
				);

				// ... register other necessary classes and methods ...
			} catch (NoSuchMethodException e) {
				// Handle the exception appropriately (e.g., log it)
				e.printStackTrace();
			}
		}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



ai-patterns/langchain4j-function-calling/src/main/java/services/gemini/Langchain4JFunctionCallingApplication.java [169:190]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
		public void registerHints(RuntimeHints hints, ClassLoader classLoader) {
			try {
				// Register all the classes and methods that are used through reflection
				// or dynamic proxy generation in LangChain4j, especially those
				// related to function calling.
				// Register method for reflection
				var mcs = MemberCategory.values();
				hints.reflection().registerType(Langchain4JFunctionCallingApplication.Assistant.class, mcs);
				hints.proxies().registerJdkProxy(Langchain4JFunctionCallingApplication.Assistant.class);
				hints.reflection().registerType(FunctionCallingService.class, mcs);

				hints.reflection().registerMethod(
						FunctionCallingService.class.getMethod("paymentStatus", String.class),
						ExecutableMode.INVOKE
				);

				// ... register other necessary classes and methods ...
			} catch (NoSuchMethodException e) {
				// Handle the exception appropriately (e.g., log it)
				e.printStackTrace();
			}
		}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



ai-patterns/langchain4j-function-calling-openai-api/src/main/java/services/gemini/Langchain4JFunctionCallingApplication.java [203:224]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
		public void registerHints(RuntimeHints hints, ClassLoader classLoader) {
			try {
				// Register all the classes and methods that are used through reflection
				// or dynamic proxy generation in LangChain4j, especially those
				// related to function calling.
				// Register method for reflection
				var mcs = MemberCategory.values();
				hints.reflection().registerType(Langchain4JFunctionCallingApplication.Assistant.class, mcs);
				hints.proxies().registerJdkProxy(Langchain4JFunctionCallingApplication.Assistant.class);
				hints.reflection().registerType(FunctionCallingService.class, mcs);

				hints.reflection().registerMethod(
						FunctionCallingService.class.getMethod("paymentStatus", String.class),
						ExecutableMode.INVOKE
				);

				// ... register other necessary classes and methods ...
			} catch (NoSuchMethodException e) {
				// Handle the exception appropriately (e.g., log it)
				e.printStackTrace();
			}
		}
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



