001// License: GPL. For details, see LICENSE file. 002package org.openstreetmap.josm.gui.widgets; 003 004import javax.swing.text.JTextComponent; 005 006/** 007 * Default text component validator that only checks that an input field is not empty. 008 * @since 10073 009 */ 010public class DefaultTextComponentValidator extends AbstractTextComponentValidator { 011 012 private final String validFeedback; 013 private final String invalidFeedback; 014 015 /** 016 * Constructs a new {@code DefaultTextComponentValidator}. 017 * @param tc the text component. Must not be null. 018 * @param validFeedback text displayed for valid feedback 019 * @param invalidFeedback text displayed for invalid feedback 020 */ 021 public DefaultTextComponentValidator(JTextComponent tc, String validFeedback, String invalidFeedback) { 022 super(tc); 023 this.validFeedback = validFeedback; 024 this.invalidFeedback = invalidFeedback; 025 } 026 027 @Override 028 public boolean isValid() { 029 return !getComponent().getText().trim().isEmpty(); 030 } 031 032 @Override 033 public void validate() { 034 if (isValid()) { 035 feedbackValid(validFeedback); 036 } else { 037 feedbackInvalid(invalidFeedback); 038 } 039 } 040}