public final class FormulaParameter extends SimpleParameter<String>
Parâmetro do Tipo Fórmula: este parâmetro permite que o usuário escreva fórmulas matemáticas.
Este tipo de parâmetro gera uma linha de comando codificada para que o shell
que executa o comando não tenha problemas com caracteres especiais. O usuário
pode informar uma expressão como: x + (y - 3). E o parâmetro irá gerar uma
linha de comando que não gera problemas no shell. Por exemplo, o valor para o
comando para x + (y - 3) é
x__PlusSign__OpenRoundBracket__y__MinusSign__3__CloseRoundBracket__.
O arquivo de configuração desta classe no seu arquivo de properties
(FormulaParameter.properties) precisa definir uma tabela com as
substituições. A tabela é formada por 2 vetores de strings. O caractere de
usuário é o caractere especial que o usuário pode digitar, mas que é
substituido ao gerar a linha de comando. O texto de comando é o texto que
substitui o caractere de usuário. O vetor com prefixo
USER_CHARACTER_PROPERTY é o vetor de caracteres de usuários. O vetor
com prefixo CMD_TEXT_PROPERTY é o vetor de textos de comandos.
Um trecho do arquivo de configuração: user_text.1 = <(>
cmd_text.1 = OpenRoundBracket
user_text.2 = <)>
cmd_text.2 = CloseRoundBracket
user_text.3 = <[>
cmd_text.3 = OpenSquareBracket
user_text.4 = <]>
cmd_text.4 = CloseSquareBracket
Este trecho indica que se o usuário digitar "(", ")", "[", "]" o valor gerado
na linha de comando será, respectivamente, OpenRoundBracket,
CloseRoundBracket, OpenSquareBracket e
CloseSquareBracket.
Os caracteres "<" e ">" são utilizados para delimitar o
caractere que irá ser utilizado na substituição, portanto apenas o que está
dentro deles é utilizado na substituição.
Apenas letras, dígitos, underline e os caracteres de usuário que estão no
arquivo de configuração podem ser utilizados pelo usuário. O caracter
underline é um caractere de usuário e o seu texto de comando é
Underline.
Apenas letras e dígitos podem ser utilizados no texto de comando.
Para cada caracter trocado, o parâmetro colocará 2 underlines ("_") antes e um depois para demarcar a região que foi substituída. Assim, se o usuário digitar "[", a linha referente a ele será "__OpenSquareBracket__".
| Modifier and Type | Field and Description |
|---|---|
static String |
TYPE
Um representação textual do tipo deste parâmetro.
|
| Constructor and Description |
|---|
FormulaParameter(String name,
String label,
String description,
boolean isOptional,
boolean isVisible,
String commandLinePattern)
Cria o parâmetro.
|
| Modifier and Type | Method and Description |
|---|---|
FormulaParameterValidator |
createParameterValidator()
Cria o validador do parâmetro.
|
String |
getCommandValue()
Obtém o valor da linha de comando para o valor corrente.
|
protected String |
getCommandValue(CommandLineContext context)
Obtém o valor corrente convertido para um valor que possa ser utilizado na
linha de comando.
|
String |
getEncodedValue(String value)
Obtém o valor codificado da fórmula (sem o uso de caracteres que possam
gerar problemas ao serem passados na linha de comando).
|
Object |
getExpressionValue()
Obtém o valor corrente convertido para um valor que pode ser utilizado em
expressões (
Expression). |
String |
getType()
Obtém um texto que representa o tipo deste parâmetros.
|
void |
setValueAsText(String parameterValue)
Atribui o valor corrente sob a forma de string.
|
addSimpleParameterListener, exportValue, fireValueWasChangedEvent, fireVisiblityWasChangedEvent, getCommandLine, getCommandLinePattern, getDefaultValue, getDescription, getLabel, getParameterValidator, getSimpleParameterListeners, getValue, getValueAsText, ignoreIfDisabled, ignoreIfInvisible, importValue, isEnabled, isOptional, isSetDefaultValue, isVisible, removeSimpleParameterListener, resetValue, setDefaultValue, setEnabled, setIgnoreIfDisabled, setIgnoreIfInvisible, setLabel, setValue, setVisible, validatepublic static final String TYPE
public FormulaParameter(String name, String label, String description, boolean isOptional, boolean isVisible, String commandLinePattern)
name - Nome do parâmetro (Não aceita null).label - Rótulo do parâmetro (Não aceita null).description - Descrição do parâmetro (Aceita null).isOptional - Indica se o parâmetro é opcional/obrigatório.isVisible - Indica se o parâmetro deve ficar visível.commandLinePattern - O padrão para construção da linha de comando. O
padrão será utilizado para escrever o trecho da linha do comando
referente ao parâmetro. Esta string será passada para o método
MessageFormat.format(String,Object...). O primeiro formato ({0}) é
referente ao nome e o segundo formato ({1}) é referente ao valor. Se
null o parâmetro não produzirá saída na linha de comando.public String getCommandValue()
null caso não haja um valor).public String getEncodedValue(String value)
value - o valor original.public Object getExpressionValue()
Expression).getExpressionValue in class SimpleParameter<String>null se não tiver valor corrente ou se
este parâmetro não pode participar de expressões.public String getType()
getType in class SimpleParameter<String>public void setValueAsText(String parameterValue)
Atribui o valor corrente sob a forma de string.
Se método é completar ao método SimpleParameter.getValueAsText().
setValueAsText in class SimpleParameter<String>parameterValue - O valor corrente sob a forma de string (Aceita
null).protected String getCommandValue(CommandLineContext context)
getCommandValue in class SimpleParameter<String>context - Contexto para geração da linha de comando.null se o valor for nulo.public FormulaParameterValidator createParameterValidator()
createParameterValidator in class SimpleParameter<String>Copyright © 2017. All rights reserved.