001 /**
002 * This library is free software; you can redistribute it and/or modify it
003 * under the terms of the GNU Lesser General Public License (LGPL) as
004 * published by the Free Software Foundation; either version 3.0 of the
005 * License, or (at your option) any later version.
006 *
007 * This library is distributed in the hope that it will be useful, but
008 * WITHOUT ANY WARRANTY; without even the implied warranty of
009 * MERCHANTABILITY of FITNESS FOR A PARTICULAR PURPOSE. See the GNU
010 * Lesser General Public License for more details.
011 */
012
013 /**
014 * Title: JBarcodeBean
015 * Description: Barcode JavaBeans Component
016 * Copyright: Copyright (C) 2004
017 * Company: Dafydd Walters
018 */
019 package net.sourceforge.jbarcodebean;
020
021 import java.beans.PropertyEditorSupport;
022
023 import net.sourceforge.jbarcodebean.model.BarcodeStrategy;
024 import net.sourceforge.jbarcodebean.model.Codabar;
025 import net.sourceforge.jbarcodebean.model.Codabar_2to1;
026 import net.sourceforge.jbarcodebean.model.Code11;
027 import net.sourceforge.jbarcodebean.model.Code128;
028 import net.sourceforge.jbarcodebean.model.Code39;
029 import net.sourceforge.jbarcodebean.model.Code39_2to1;
030 import net.sourceforge.jbarcodebean.model.Code93;
031 import net.sourceforge.jbarcodebean.model.Code93Extended;
032 import net.sourceforge.jbarcodebean.model.Ean13;
033 import net.sourceforge.jbarcodebean.model.Ean8;
034 import net.sourceforge.jbarcodebean.model.ExtendedCode39;
035 import net.sourceforge.jbarcodebean.model.ExtendedCode39_2to1;
036 import net.sourceforge.jbarcodebean.model.Interleaved25;
037 import net.sourceforge.jbarcodebean.model.Interleaved25_2to1;
038 import net.sourceforge.jbarcodebean.model.MSI;
039
040 /**
041 * A property editor for the {@link BarcodeStrategy} type.
042 * GUI Builders use this class for the
043 * {@link JBarcodeBean#setCodeType(BarcodeStrategy) codeType} property of
044 * the {@link JBarcodeBean} Javabean component.
045 */
046 public class BarcodeStrategyEditor extends PropertyEditorSupport {
047
048 private static final String EAN_8 = "EAN-8";
049 private static final String EAN_13 = "EAN-13";
050 private static final String CODABAR_2_1 = "Codabar 2:1";
051 private static final String CODABAR_3_1 = "Codabar 3:1";
052 private static final String MSI_MOD_10_CHECK = "MSI (mod 10 check)";
053 private static final String INTERLEAVED_25_2_1 = "Interleaved 25 2:1";
054 private static final String INTERLEAVED_25_3_1 = "Interleaved 25 3:1";
055 private static final String EXT_CODE_39_2_1 = "Ext Code 39 2:1";
056 private static final String EXT_CODE_39_3_1 = "Ext Code 39 3:1";
057 private static final String CODE_39_2_1 = "Code 39 2:1";
058 private static final String CODE_39_3_1 = "Code 39 3:1";
059 private static final String CODE_128 = "Code 128";
060 private static final String CODE_93 = "Code 93";
061 private static final String CODE_93_EXTENDED = "Code 93 Extended";
062 private static final String CODE_11 = "Code 11";
063
064 public String[] getTags() {
065 return new String[] {
066 CODE_11,
067 CODE_128,
068 CODE_39_3_1,
069 CODE_39_2_1,
070 EXT_CODE_39_3_1,
071 EXT_CODE_39_2_1,
072 CODE_93,
073 CODE_93_EXTENDED,
074 INTERLEAVED_25_3_1,
075 INTERLEAVED_25_2_1,
076 MSI_MOD_10_CHECK,
077 CODABAR_3_1,
078 CODABAR_2_1,
079 EAN_13,
080 EAN_8
081 };
082 }
083
084 public void setAsText(String s) {
085 if (s.equals(CODE_128)) {
086 setValue(new Code128());
087 } else if (s.equals(CODE_39_3_1)) {
088 setValue(new Code39());
089 } else if (s.equals(CODE_39_2_1)) {
090 setValue(new Code39_2to1());
091 } else if (s.equals(EXT_CODE_39_3_1)) {
092 setValue(new ExtendedCode39());
093 } else if (s.equals(EXT_CODE_39_2_1)) {
094 setValue(new ExtendedCode39_2to1());
095 } else if (s.equals(INTERLEAVED_25_3_1)) {
096 setValue(new Interleaved25());
097 } else if (s.equals(INTERLEAVED_25_2_1)) {
098 setValue(new Interleaved25_2to1());
099 } else if (s.equals(MSI_MOD_10_CHECK)) {
100 setValue(new MSI());
101 } else if (s.equals(CODABAR_3_1)) {
102 setValue(new Codabar());
103 } else if (s.equals(CODABAR_2_1)) {
104 setValue(new Codabar_2to1());
105 } else if (s.equals(EAN_13)) {
106 setValue(new Ean13());
107 } else if (s.equals(EAN_8)) {
108 setValue(new Ean8());
109 } else if (s.equals(CODE_93)) {
110 setValue(new Code93());
111 } else if (s.equals(CODE_93_EXTENDED)) {
112 setValue(new Code93Extended());
113 } else if (s.equals(CODE_11)) {
114 setValue(new Code11());
115 } else {
116 // Default to Code 39
117 setValue(new Code39());
118 }
119 }
120
121 public String getAsText() {
122 BarcodeStrategy s = (BarcodeStrategy)getValue();
123 if (s.getClass().equals(Code128.class)) {
124 // Code 128
125 return CODE_128;
126 } else if (s.getClass().equals(Code39_2to1.class)) {
127 // Code 3 of 9 2:1
128 return CODE_39_2_1;
129 } else if (s.getClass().equals(Code39.class)) {
130 // Code 3 of 9 3:1
131 return CODE_39_3_1;
132 } else if (s.getClass().equals(ExtendedCode39_2to1.class)) {
133 // Extended Code 3 of 9 2:1
134 return EXT_CODE_39_2_1;
135 } else if (s.getClass().equals(ExtendedCode39.class)) {
136 // Extended Code 3 of 9 3:1
137 return EXT_CODE_39_3_1;
138 } else if (s.getClass().equals(Interleaved25_2to1.class)) {
139 // Interleaved 25 2:1
140 return INTERLEAVED_25_2_1;
141 } else if (s.getClass().equals(Interleaved25.class)) {
142 // Interleaved 25 3:1
143 return INTERLEAVED_25_3_1;
144 } else if (s.getClass().equals(MSI.class)) {
145 // MSI
146 return MSI_MOD_10_CHECK;
147 } else if (s.getClass().equals(Codabar_2to1.class)) {
148 // Codabar 2:1
149 return CODABAR_2_1;
150 } else if (s.getClass().equals(Codabar.class)) {
151 // Codabar 3:1
152 return CODABAR_3_1;
153 } else if (s.getClass().equals(Ean13.class)) {
154 // EAN-13
155 return EAN_13;
156 } else if (s.getClass().equals(Ean8.class)) {
157 // EAN-8
158 return EAN_8;
159 } else if (s.getClass().equals(Code93.class)) {
160 // EAN-8
161 return CODE_93;
162 } else if (s.getClass().equals(Code93Extended.class)) {
163 // EAN-8
164 return CODE_93_EXTENDED;
165 } else if (s.getClass().equals(Code11.class)) {
166 // EAN-8
167 return CODE_11;
168 } else {
169 // Must set to something, so default to Code 39
170 return "Code 39";
171 }
172 }
173
174 public String getJavaInitializationString() {
175 BarcodeStrategy s = (BarcodeStrategy)getValue();
176 if (s.getClass().equals(Code128.class)) {
177 // Code 128
178 return "new jbarcodebean.Code128()";
179 } else if (s.getClass().equals(Code39_2to1.class)) {
180 // Code 3 of 9 2:1
181 return "new jbarcodebean.Code39_2to1()";
182 } else if (s.getClass().equals(Code39.class)) {
183 // Code 3 of 9 3:1
184 return "new jbarcodebean.Code39()";
185 } else if (s.getClass().equals(ExtendedCode39_2to1.class)) {
186 // Extended Code 3 of 9 2:1
187 return "new jbarcodebean.ExtendedCode39_2to1()";
188 } else if (s.getClass().equals(ExtendedCode39.class)) {
189 // Extended Code 3 of 9 3:1
190 return "new jbarcodebean.ExtendedCode39()";
191 } else if (s.getClass().equals(Interleaved25_2to1.class)) {
192 // Interleaved 25 2:1
193 return "new jbarcodebean.Interleaved25_2to1()";
194 } else if (s.getClass().equals(Interleaved25.class)) {
195 // Interleaved 25 3:1
196 return "new jbarcodebean.Interleaved25()";
197 } else if (s.getClass().equals(MSI.class)) {
198 // MSI
199 return "new jbarcodebean.MSI()";
200 } else if (s.getClass().equals(Codabar_2to1.class)) {
201 // Codabar 2:1
202 return "new jbarcodebean.Codabar_2to1()";
203 } else if (s.getClass().equals(Codabar.class)) {
204 // Codabar 3:1
205 return "new jbarcodebean.Codabar()";
206 } else if (s.getClass().equals(Ean13.class)) {
207 // EAN-13
208 return "new jbarcodebean.Ean13()";
209 } else if (s.getClass().equals(Ean8.class)) {
210 // EAN-8
211 return "new jbarcodebean.Ean8()";
212 } else if (s.getClass().equals(Code93.class)) {
213 // EAN-8
214 return "new jbarcodebean.Code93()";
215 } else if (s.getClass().equals(Code93Extended.class)) {
216 // EAN-8
217 return "new jbarcodebean.Code93Extended()";
218 } else if (s.getClass().equals(Code11.class)) {
219 // EAN-8
220 return "new jbarcodebean.Code11()";
221 } else {
222 // Must set to something, so default to Code 39
223 return "new jbarcodebean.Code39()";
224 }
225 }
226 }