All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.quartz.utils.PropertiesParser Maven / Gradle / Ivy

Go to download

SDK for dev_appserver (local development) with some of the dependencies shaded (repackaged)

There is a newer version: 2.0.31
Show newest version
/* 
 * Copyright 2004-2005 OpenSymphony 
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 
 * use this file except in compliance with the License. You may obtain a copy 
 * of the License at 
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0 
 *   
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 
 * License for the specific language governing permissions and limitations 
 * under the License.
 * 
 */

/*
 * Previously Copyright (c) 2001-2004 James House
 */
package org.quartz.utils;

import java.util.Enumeration;
import java.util.HashMap;
import java.util.Properties;
import java.util.StringTokenizer;
import java.util.Vector;

/**
 * 

* This is an utility calss used to parse the properties. *

* * @author James House */ public class PropertiesParser { /* * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * * Data members. * * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ Properties props = null; /* * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * * Constructors. * * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ public PropertiesParser(Properties props) { this.props = props; } /* * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * * Interface. * * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ public Properties getUnderlyingProperties() { return props; } public String getStringProperty(String name) { String val = props.getProperty(name); if (val == null) return null; return val.trim(); } public String getStringProperty(String name, String def) { String val = props.getProperty(name, def); if (val == null) return def; val = val.trim(); if (val.length() == 0) return def; return val; } public String[] getStringArrayProperty(String name) { return getStringArrayProperty(name, null); } public String[] getStringArrayProperty(String name, String[] def) { String vals = getStringProperty(name); if (vals == null) return def; if (vals != null && !vals.trim().equals("")) { StringTokenizer stok = new StringTokenizer(vals, ","); Vector strs = new Vector(); try { while (stok.hasMoreTokens()) { strs.addElement(stok.nextToken()); } String[] outStrs = new String[strs.size()]; for (int i = 0; i < strs.size(); i++) outStrs[i] = (String) strs.elementAt(i); return outStrs; } catch (Exception e) { return def; } } return def; } public boolean getBooleanProperty(String name) { String val = getStringProperty(name); if (val == null) return false; return new Boolean(val).booleanValue(); } public boolean getBooleanProperty(String name, boolean def) { String val = getStringProperty(name); if (val == null) return def; return new Boolean(val).booleanValue(); } public byte getByteProperty(String name) throws NumberFormatException { String val = getStringProperty(name); if (val == null) throw new NumberFormatException(" null string"); try { return Byte.parseByte(val); } catch (NumberFormatException nfe) { throw new NumberFormatException(" '" + val + "'"); } } public byte getByteProperty(String name, byte def) throws NumberFormatException { String val = getStringProperty(name); if (val == null) return def; try { return Byte.parseByte(val); } catch (NumberFormatException nfe) { throw new NumberFormatException(" '" + val + "'"); } } public char getCharProperty(String name) { String param = getStringProperty(name); if (param == null) return '\0'; if (param.length() == 0) return '\0'; return param.charAt(0); } public char getCharProperty(String name, char def) { String param = getStringProperty(name); if (param == null) return def; if (param.length() == 0) return def; return param.charAt(0); } public double getDoubleProperty(String name) throws NumberFormatException { String val = getStringProperty(name); if (val == null) throw new NumberFormatException(" null string"); try { return Double.parseDouble(val); } catch (NumberFormatException nfe) { throw new NumberFormatException(" '" + val + "'"); } } public double getDoubleProperty(String name, double def) throws NumberFormatException { String val = getStringProperty(name); if (val == null) return def; try { return Double.parseDouble(val); } catch (NumberFormatException nfe) { throw new NumberFormatException(" '" + val + "'"); } } public float getFloatProperty(String name) throws NumberFormatException { String val = getStringProperty(name); if (val == null) throw new NumberFormatException(" null string"); try { return Float.parseFloat(val); } catch (NumberFormatException nfe) { throw new NumberFormatException(" '" + val + "'"); } } public float getFloatProperty(String name, float def) throws NumberFormatException { String val = getStringProperty(name); if (val == null) return def; try { return Float.parseFloat(val); } catch (NumberFormatException nfe) { throw new NumberFormatException(" '" + val + "'"); } } public int getIntProperty(String name) throws NumberFormatException { String val = getStringProperty(name); if (val == null) throw new NumberFormatException(" null string"); try { return Integer.parseInt(val); } catch (NumberFormatException nfe) { throw new NumberFormatException(" '" + val + "'"); } } public int getIntProperty(String name, int def) throws NumberFormatException { String val = getStringProperty(name); if (val == null) return def; try { return Integer.parseInt(val); } catch (NumberFormatException nfe) { throw new NumberFormatException(" '" + val + "'"); } } public int[] getIntArrayProperty(String name) throws NumberFormatException { return getIntArrayProperty(name, null); } public int[] getIntArrayProperty(String name, int[] def) throws NumberFormatException { String vals = getStringProperty(name); if (vals == null) return def; if (vals != null && !vals.trim().equals("")) { StringTokenizer stok = new StringTokenizer(vals, ","); Vector ints = new Vector(); try { while (stok.hasMoreTokens()) { try { ints.addElement(new Integer(stok.nextToken())); } catch (NumberFormatException nfe) { throw new NumberFormatException(" '" + vals + "'"); } } int[] outInts = new int[ints.size()]; for (int i = 0; i < ints.size(); i++) outInts[i] = ((Integer) ints.elementAt(i)).intValue(); return outInts; } catch (Exception e) { return def; } } return def; } public long getLongProperty(String name) throws NumberFormatException { String val = getStringProperty(name); if (val == null) throw new NumberFormatException(" null string"); try { return Long.parseLong(val); } catch (NumberFormatException nfe) { throw new NumberFormatException(" '" + val + "'"); } } public long getLongProperty(String name, long def) throws NumberFormatException { String val = getStringProperty(name); if (val == null) return def; try { return Long.parseLong(val); } catch (NumberFormatException nfe) { throw new NumberFormatException(" '" + val + "'"); } } public short getShortProperty(String name) throws NumberFormatException { String val = getStringProperty(name); if (val == null) throw new NumberFormatException(" null string"); try { return Short.parseShort(val); } catch (NumberFormatException nfe) { throw new NumberFormatException(" '" + val + "'"); } } public short getShortProperty(String name, short def) throws NumberFormatException { String val = getStringProperty(name); if (val == null) return def; try { return Short.parseShort(val); } catch (NumberFormatException nfe) { throw new NumberFormatException(" '" + val + "'"); } } public String[] getPropertyGroups(String prefix) { Enumeration keys = props.propertyNames(); HashMap groups = new HashMap(10); if (!prefix.endsWith(".")) prefix += "."; while (keys.hasMoreElements()) { String key = (String) keys.nextElement(); if (key.startsWith(prefix)) { String groupName = key.substring(prefix.length(), key.indexOf( '.', prefix.length())); groups.put(groupName, groupName); } } return (String[]) groups.values().toArray(new String[groups.size()]); } public Properties getPropertyGroup(String prefix) { return getPropertyGroup(prefix, false); } public Properties getPropertyGroup(String prefix, boolean stripPrefix) { Enumeration keys = props.propertyNames(); Properties group = new Properties(); if (!prefix.endsWith(".")) prefix += "."; while (keys.hasMoreElements()) { String key = (String) keys.nextElement(); if (key.startsWith(prefix)) { if (stripPrefix) group.put(key.substring(prefix.length()), props.getProperty(key)); else group.put(key, props.getProperty(key)); } } return group; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy