package org.esa.snap.ui.tooladapter.validators; import org.esa.snap.rcp.util.Dialogs; import javax.swing.InputVerifier; import javax.swing.JComponent; import javax.swing.text.JTextComponent; /** * Base validator for text-input components * * @author Cosmin Cara */ public abstract class TextFieldValidator extends InputVerifier { private String errorMessage; public TextFieldValidator(String message) { errorMessage = message; } @Override public boolean verify(JComponent input) { if (input instanceof JTextComponent) { boolean isValid = false; String text = ((JTextComponent) input).getText(); isValid = verifyValue(text); if (!isValid) { Dialogs.showError(errorMessage); } return isValid; } else { return true; } } protected abstract boolean verifyValue(String text); }