001: /*
002: * Gruntspud
003: *
004: * Copyright (C) 2002 Brett Smith.
005: *
006: * Written by: Brett Smith <t_magicthize@users.sourceforge.net>
007: *
008: * This program is free software; you can redistribute it and/or
009: * modify it under the terms of the GNU Library General Public License
010: * as published by the Free Software Foundation; either version 2 of
011: * the License, or (at your option) any later version.
012: * This program is distributed in the hope that it will be useful,
013: * but WITHOUT ANY WARRANTY; without even the implied warranty of
014: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
015: * GNU Library General Public License for more details.
016: *
017: * You should have received a copy of the GNU Library General Public
018: * License along with this program; if not, write to the Free Software
019: * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
020: */
021:
022: package gruntspud.file;
023:
024: import java.util.Enumeration;
025: import java.util.ResourceBundle;
026: import java.util.StringTokenizer;
027: import java.util.Vector;
028:
029: import org.netbeans.lib.cvsclient.util.SimpleStringPattern;
030:
031: /**
032: * Description of the Class
033: *
034: *@author magicthize
035: *@created 26 May 2002
036: */
037: public class FileTypeMapping {
038: static ResourceBundle res = ResourceBundle
039: .getBundle("gruntspud.file.ResourceBundle");
040: public final static int DISABLE = 0;
041: public final static int OPEN_USING_HOST = 1;
042: public final static int OPEN_USING_OS = 2;
043: public final static int OPEN_USING_APPLICATION = 3;
044: public final static int OPEN_USING_HTML_VIEWER = 4;
045: public final static int OPEN_USING_DEFAULT = 99;
046: private String mimeType;
047: private String description;
048: private String application;
049: private Vector patterns;
050: private int action;
051:
052: /**
053: * Creates a new FileTypeMapping object.
054: */
055: public FileTypeMapping() {
056: patterns = new Vector();
057: setAction(OPEN_USING_HOST);
058: }
059:
060: /**
061: * DOCUMENT ME!
062: *
063: * @return DOCUMENT ME!
064: */
065: public int getPatternCount() {
066: return patterns.size();
067: }
068:
069: /**
070: * DOCUMENT ME!
071: *
072: * @param i DOCUMENT ME!
073: *
074: * @return DOCUMENT ME!
075: */
076: public SimpleStringPattern getPatternAt(int i) {
077: return (SimpleStringPattern) patterns.elementAt(i);
078: }
079:
080: /**
081: * DOCUMENT ME!
082: *
083: * @return DOCUMENT ME!
084: */
085: public String getPatternsAsString() {
086: StringBuffer buf = new StringBuffer();
087:
088: for (Enumeration e = patterns.elements(); e.hasMoreElements();) {
089: if (buf.length() > 0) {
090: buf.append(",");
091:
092: }
093: buf.append(((SimpleStringPattern) e.nextElement())
094: .toString());
095: }
096:
097: return buf.toString();
098: }
099:
100: /**
101: * DOCUMENT ME!
102: *
103: * @param s DOCUMENT ME!
104: */
105: public void setPatternsFromString(String s) {
106: patterns.removeAllElements();
107:
108: StringTokenizer t = new StringTokenizer(s, ",");
109:
110: while (t.hasMoreTokens()) {
111: SimpleStringPattern p = new SimpleStringPattern(t
112: .nextToken());
113: addPattern(p);
114: }
115: }
116:
117: /**
118: * DOCUMENT ME!
119: *
120: * @param description DOCUMENT ME!
121: */
122: public void setDescription(String description) {
123: this .description = description;
124: }
125:
126: /**
127: * DOCUMENT ME!
128: *
129: * @param pattern DOCUMENT ME!
130: */
131: public void addPattern(SimpleStringPattern pattern) {
132: patterns.addElement(pattern);
133: }
134:
135: /**
136: * DOCUMENT ME!
137: *
138: * @param action DOCUMENT ME!
139: */
140: public void setAction(int action) {
141: this .action = action;
142: }
143:
144: /**
145: * DOCUMENT ME!
146: *
147: * @param application DOCUMENT ME!
148: */
149: public void setApplication(String application) {
150: this .application = application;
151: }
152:
153: /**
154: * DOCUMENT ME!
155: *
156: * @return DOCUMENT ME!
157: */
158: public String getDescription() {
159: return description;
160: }
161:
162: /**
163: * DOCUMENT ME!
164: *
165: * @return DOCUMENT ME!
166: */
167: public int getAction() {
168: return action;
169: }
170:
171: /**
172: * DOCUMENT ME!
173: *
174: * @return DOCUMENT ME!
175: */
176: public String getApplication() {
177: return application;
178: }
179:
180: /**
181: * DOCUMENT ME!
182: *
183: * @return DOCUMENT ME!
184: */
185: public String toString() {
186: StringBuffer buf = new StringBuffer();
187: buf.append(getDescription());
188: buf.append(" (");
189:
190: for (int i = 0; i < patterns.size(); i++) {
191: if (i > 0) {
192: buf.append(",");
193:
194: }
195: buf.append(((SimpleStringPattern) patterns.elementAt(i))
196: .toString());
197: }
198:
199: buf.append(")");
200:
201: return buf.toString();
202: }
203: }
|