home *** CD-ROM | disk | FTP | other *** search
Java Source | 1998-08-28 | 5.3 KB | 238 lines |
- /*
- * Copyright (c) 1994-1998 Sun Microsystems, Inc. All Rights Reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation for NON-COMMERCIAL or COMMERCIAL purposes and without fee is
- * hereby granted. Please refer to the file
- * http://java.sun.com/nav/business/trademark_guidelines.html for further
- * important copyright and trademark information and to
- * http://java.sun.com/nav/business/index.html for further important licensing
- * information for the Java (tm) Technology.
- *
- * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
- * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
- * NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY
- * LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR
- * ITS DERIVATIVES.
- *
- * THIS SOFTWARE IS NOT DESIGNED OR INTENDED FOR USE OR RESALE AS ON-LINE
- * CONTROL EQUIPMENT IN HAZARDOUS ENVIRONMENTS REQUIRING FAIL-SAFE PERFORMANCE,
- * SUCH AS IN THE OPERATION OF NUCLEAR FACILITIES, AIRCRAFT NAVIGATION OR
- * COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL, DIRECT LIFE SUPPORT MACHINES, OR
- * WEAPONS SYSTEMS, IN WHICH THE FAILURE OF THE SOFTWARE COULD LEAD DIRECTLY TO
- * DEATH, PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH
- * RISK ACTIVITIES"). SUN SPECIFICALLY DISCLAIMS ANY EXPRESS OR IMPLIED
- * WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES.
- */
-
- import java.applet.*;
- import java.awt.*;
- import java.util.*;
-
- public class ParamParser extends Object
- {
- public CustomParser parser;
- private Applet applet;
-
- public ParamParser(Applet applet)
- {
- this.applet = applet;
- parser = new CustomParser();
- }
-
- // Parse an integer from a string.
-
- public int parseInt(String name, int def)
- {
- String value = applet.getParameter(name);
-
- // The parameter is defined.
-
- if (value != null)
- {
- return Integer.parseInt(value);
- }
-
- // Return the default value.
-
- else
- {
- return def;
- }
- }
-
- public int[] parseInts(String value, String sep)
- {
- if (value != null)
- {
- String[] str = parser.parseStrings(value, sep);
- int[] data = new int[str.length];
-
- for (int i = 0; i < str.length; i++)
- {
- data[i] = Integer.parseInt(str[i]);
- }
-
- return data;
- }
-
- else
- {
- return null;
- }
- }
-
- public long parseLong(String name, long def)
- {
- String value = applet.getParameter(name);
-
- if (value != null)
- {
- return Long.parseLong(value);
- }
-
- else
- {
- return def;
- }
- }
-
- public Color parseColor(String name, Color def)
- {
- String value = applet.getParameter(name);
-
- if (value != null)
- {
- return new Color(Integer.parseInt(value, 16));
- }
-
- else
- {
- return def;
- }
- }
-
- public Color parseColor(String name, String def)
- {
- String value = applet.getParameter(name);
-
- if (value != null)
- {
- return new Color(Integer.parseInt(value, 16));
- }
-
- else
- {
- return new Color(Integer.parseInt(def, 16));
- }
- }
-
- public Font parseFont(String name, String fname, int style, int size)
- {
- String value = applet.getParameter(name);
-
- if (value != null)
- {
- String[] str = parser.parseStrings(value, "|");
- int fsize = Integer.parseInt(str[2]);
- int fstyle = Font.PLAIN;
-
- if (str[1].equalsIgnoreCase("PLAIN"))
- {
- fstyle = Font.PLAIN;
- }
-
- if (str[1].equalsIgnoreCase("BOLD"))
- {
- fstyle = Font.BOLD;
- }
-
- if (str[1].equalsIgnoreCase("ITALIC"))
- {
- fstyle = Font.ITALIC;
- }
-
- return new Font(str[0], fstyle, fsize);
- }
-
- else
- {
- return new Font(fname, style, size);
- }
- }
-
- public boolean parseBoolean(String name, boolean def)
- {
- String value = applet.getParameter(name);
-
- if (value != null)
- {
- return (Boolean.valueOf(value)).booleanValue();
- }
-
- else
- {
- return def;
- }
- }
-
- public String parseString(String name, String def)
- {
- String value = applet.getParameter(name);
-
- if (value != null)
- {
- return value;
- }
-
- else
- {
- return def;
- }
- }
-
- public String[] parseStrings(String name, String sep)
- {
- String value = applet.getParameter(name);
-
- if (value != null)
- {
- return parser.parseStrings(value, sep);
- }
-
- else
- {
- System.err.println("name=\"" + name + "\" not defined.");
- return null;
- }
- }
-
- public String[] parseStrings(String name, String sep, int num)
- {
- String value = applet.getParameter(name);
-
- if (value != null)
- {
- String result[] = parser.parseStrings(value, sep);
-
- if (result.length == num)
- {
- return result;
- }
-
- else
- {
- System.err.println("name=\"" + name + "\" format incorrect.");
- return null;
- }
- }
-
- else
- {
- System.err.println("name=\"" + name + "\" not defined.");
- return null;
- }
- }
- }
-