La clase ValueParamValidator manejará la verificación del
parámetro Value en la acción HowTo. En esta lección se
describirá con detalle cómo crear el código para mostrar las características de
verificación y validación del parámetro del punto de ampliación
com.ibm.carma.ui.parameterValidators.
Para este ejemplo, a continuación figura una lista de las posibles entradas del
usuario y
de los mensajes informativos que se visualizan.
- Si el usuario especifica 0, se visualizará un mensaje informativo
- Si el usuario especifica 1, se visualizará un mensaje de aviso
- Si el usuario especifica un valor de 2 o superior, se visualizará un mensaje
de error
- Si el usuario especifica un valor no numérico, no se permitirá la entrada
- En la vista Explorador de paquetes, abra la clase
ValueParamValidator navegando a com.ibm.carma.plugin.howto > src >
com.ibm.carma.plugin.howto.action y efectuando una doble pulsación sobre la
clase para abrirla en el editor.
- En primer lugar, implemente el método verifyInput.
Este método comprueba los caracteres no válidos en el texto de entrada. En este
ejemplo, este método sólo aceptará caracteres numéricos. A continuación figura un
pseudocódigo que lo muestra:
si la longitud de la entrada es mayor que 0
permitir la entrada si los caracteres de entrada son 0-9
else
no permitir la entrada
Utilice el siguiente código de muestra para
implementar el método verifyInput:
/*Aceptar sólo caracteres numéricos como válidos. */
public void verifyInput(ParameterValidationEvent event)
{
if(event.text.length() > 0)
event.allowInput = (event.text.matches("[0-9]"));
}
- A continuación, alterará temporalmente el método validateParameter
para visualizar los métodos adecuados en función de los valores especificados,
como se
ha descrito anteriormente. A continuación figura un pseudocódigo que lo muestra:
si la entrada = 0
devolver un mensaje informativo
de lo contrario si la entrada = 1
devolver un mensaje de aviso
else
devolver un mensaje de error
Utilice el siguiente código de muestra para alterar temporalmente este
método:
/* Devuelve un mensaje informativo si se especifica 0.
* Devuelve un mensaje de aviso si se especifica 1.
* Devuelve un mensaje de error si se especifica un valor numérico superior a 1.
*/
public ValidationResult validateParameter(ParameterValidationevent event)
{
ValidationResult result = new ValidationResult();
if(event.text.contains("0"))
{
//Visualizar mensaje informativo.
result.severity = ValidationResult.INFO;
result.message = "Ha especificado 0.";
}
else if(event.text.contains("1"))
{
//Visualizar un mensaje de aviso.
result.severity = ValidationResult.WARNING;
result.message = "Los valores superiores a 1 provocarán un error.";
}
else
{
//Visualizar mensaje de error.
result.severity = ValidationResult.ERROR;
result.message = "El valor es demasiado grande, especifique un valor menor.";
}
return result;
}
- Guarde el código fuente y depure los errores.