org.cytoscape.work
Interface TunableValidator
public interface TunableValidator
If implemented, this interface is used to apply a test to the modified values of a Tunable.
Example:
If using this Test class :
public class Test {
@Tunable(...)
String name = "John";
}
Then we can provide a method to check if the new value for this tunable matches with the
conditions that we have set :
public class Test implements TunableValidator{
@Tunable(...)
String name = new String("John");
ValidationState getValidationState(Appendable message){
if (name == null || name.isEmpty()) {
message.append("Name not specified!");
return INVALID;
} else if (name.equals("Johnny")) {
message.append("Are you sure you want to use a nickname?");
return REQUEST_CONFIRMATION;
} else {
return OK;
}
}
}
The String message returned by validate()
method is displayed to the user.
Cytoscape Backwards Compatibility (SPI Interface): We expect that this interface will be implemented. Therefore to maintain backwards compatibility this interface will only be modified for major version updates.
getValidationState
TunableValidator.ValidationState getValidationState(Appendable errMsg)
- Executes the validation test on the annotated
Tunables
.
- Parameters:
errMsg
- if the validation failed an explanatory message can be found here and accessed via
errMsg.toString()
- Returns:
- OK if the test succeeded and INVALID if it failed and REQUEST_CONFIRMATION if the user has
to be asked for confirmation, e.g. if a file would have to be overwritten etc.
Copyright 2011 Cytoscape Consortium. All rights reserved.