001 package market; 002 003 /** 004 * The simplest implementation of ValueChecker. It only checks a String for emptiness, if wanted.<br> 005 * A VCDummy is used for text fields, that need to be a {@link market.swing.JTFCheckable} to allow 006 * access from outside the defining class, but for which no content checking is required. 007 */ 008 public class VCDummy implements ValueChecker { 009 010 /** 011 * ID for serialization. 012 */ 013 private static final long serialVersionUID = -2470573985933440464L; 014 015 /** 016 * The identifier used by {@link #getErrorString()}. 017 */ 018 protected String identifier; 019 020 /** 021 * Defines if an empty String is considered to be an error or not. 022 */ 023 protected boolean mayBeEmpty; 024 025 /** 026 * @param identifier the identifier. 027 * @param mayBeEmpty <code>true</code> if an empty should be considered valid, otherwise <code>false</code>. 028 */ 029 public VCDummy(String identifier, boolean mayBeEmpty) { 030 this.identifier = identifier; 031 this.mayBeEmpty = mayBeEmpty; 032 } 033 034 /** 035 * @param identifier the identifier. 036 */ 037 public VCDummy(String identifier) { 038 this.identifier = identifier; 039 this.mayBeEmpty = false; 040 } 041 042 /** 043 * @param content the String to be checked. 044 * @return always <code>true</code> if {@link #mayBeEmpty} is <code>true</code>, otherwise it returns 045 * <code>true</code> if <code>content</code> is not empty. 046 */ 047 public boolean isValidValue(String content) { 048 return (mayBeEmpty || !content.equals("")); 049 } 050 051 /** 052 * @return an error message if the String is empty when it shouldn't. 053 */ 054 public String getErrorString() { 055 return "Fehlerhafte Eingabe im Feld " + identifier + ": Das Feld darf nicht leer sein."; 056 } 057 }