new Enginelet(engineletClassName)
A classe Enginelet tem o objetivo de simplificar a execução de código Java a partir do Engine.
Classes Java que implementam a interface "com.nginstack.engine.Enginelet" e o seu método
handleCommand podem ser utilizadas em JavaScript por meio da classe Enginelet. Para isso,
deve ser criada uma instância de Enginelet no JavaScript informando o nome completo da
classe Java. Ao executar o método handleCommand da classe JavaScript, será executado o método
de mesmo nome da classe Java.
Os parâmetros e o retorno do método handleCommand são do tipo String no Java e os valores
informados em JavaScript são convertidos automaticamente para esse tipo utilizando a
conversão padrão do JavaScript. Objetos complexos devem ser convertidos manualmente em um
formato textual mais adequado, como o JSON.
Importante: atualmente o sistema não mantém um estado de execução no ambiente Java. Por esse
motivo, a classe Java indicada por engineletClassName é recriada a cada execução do método
handleCommand. Caso seja necessária a preservação de estado entre as execuções, devem
ser utilizadas outras classes Java que persistam após a construção e destruição da classe
que implementa a interface Enginelet.
Parameters:
| Name | Type | Description |
|---|---|---|
engineletClassName |
string | Nome da classe Java que estende a classe Enginelet. |
Examples
// Exemplo de consumo de um Enginelet em JavaScript
const enginelet = new Enginelet('com.example.XmlSigner');
enginelet.handleCommand('signXml', xmlContent);
// Exemplo de implementação de um Enginelet em Java
package com.example;
import com.nginstack.engine.Enginelet;
import com.example.XmlSigner;
class UnsupportedCommandException extends RuntimeException {
UnsupportedCommandException(String command) {
super("Unsupported command: " + command);
}
}
public class XmlSigner extends Enginelet {
public String handleCommand(String commandName, String[] commandArgs) {
if (commandName.equals("signXml")) {
return XmlSigner.sign(commandArgs[0]);
} else {
throw new UnsupportedCommandException(commandName);
}
}
}
Methods
-
handleCommand(commandName, args)
-
Envia um comando que será tratado pelo método
handleCommandda classe Enginelet no ambiente Java.Parameters:
Name Type Argument Description commandNamestring Nome do comando que será enviado para a classe Enginelet Java.
argsstring <repeatable>
Argumentos que serão passados para o método
handleCommand.Returns:
Valor retornado pelo método
handleCommandda classe Java.- Type
- string