Cytoscape 3.0.1 API

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.

Nested Class Summary
static class TunableValidator.ValidationState
          The states the the validator can return.
 
Method Summary
 TunableValidator.ValidationState getValidationState(Appendable errMsg)
          Executes the validation test on the annotated Tunables.
 

Method Detail

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.

Cytoscape 3.0.1 API

Copyright 2011 Cytoscape Consortium. All rights reserved.