Я пытаюсь вызвать функцию, доступную в Corda RPC, под названием startTrackedFlowDynamic
, которая принимает 2 аргумента: startTrackedFlowDynamic(logicType: Class<out FlowLogic<T>>, vararg args: Any?)
, которая упакована в JAR
Вызов этой функциисделанный из контекста Javascript (для этого используется GraalVM), я хочу вызвать эту функцию и передать ей аргументы, полученные из объекта запроса (скажем, из API REST)
Пример: если запрос содержит массив [::InitiatorA, iouValue]
, я хотел бы вызвать startTrackedFlowDynamic, например: startTrackedFlowDynamic(::InitiatorA, iouValue)
, если запрос содержит массив [::InitiatorB, abc, xyz]
. Я бы хотел вызвать startTrackedFlowDynamic, например: startTrackedFlowDynamic(::InitiatorB, abc, xyz)
если запрос содержит массив [::InitiatorC]
Я бы хотел вызвать startTrackedFlowDynamic, например: startTrackedFlowDynamic(::InitiatorC)
TLDR: я хотел бы сделать его как универсальный API вместо переписывания длякаждый отдельный поток вызовов.Я хочу иметь возможность передавать динамическое число аргументов, поступающих из объекта запроса, в эту функцию вместо жесткого кодирования фиксированного количества аргументов и необходимости его обновления при изменении числа аргументов
Пример поведения, которое я хочу повторить:
var func = function () {
console.log(arguments.length);
for (var i = 0; i < arguments.length; i++) {
console.log(arguments[i]);
}
};
func.apply(null, ['::InitiatorA', 'abc', 'xyz'])
Есть предложения?