View Javadoc

    1   /* PropertyUtils.java
    2    *
    3    * Created Aug 4, 2005
    4    *
    5    * Copyright (C) 2005 Internet Archive.
    6    *
    7    * This file is part of the Heritrix web crawler (crawler.archive.org).
    8    *
    9    * Heritrix is free software; you can redistribute it and/or modify
    10   * it under the terms of the GNU Lesser Public License as published by
    11   * the Free Software Foundation; either version 2.1 of the License, or
    12   * any later version.
    13   *
    14   * Heritrix is distributed in the hope that it will be useful,
    15   * but WITHOUT ANY WARRANTY; without even the implied warranty of
    16   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    17   * GNU Lesser Public License for more details.
    18   *
    19   * You should have received a copy of the GNU Lesser Public License
    20   * along with Heritrix; if not, write to the Free Software
    21   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    22   */
    23  package org.archive.util;
    24
    25  /***
    26   * @author stack
    27   * @version $Date: 2005-08-15 23:35:10 +0000 (Mon, 15 Aug 2005) $ $Revision: 3760 $
    28   */
    29  public class PropertyUtils {
    30      /****
    31       * @param key Property key.
    32       * @return Named property or null if the property is null or empty.
    33       */
    34      public static String getPropertyOrNull(final String key) {
    35          String value = System.getProperty(key);
    36          return (value == null || value.length() <= 0)? null: value;
    37      }
    38
    39      /****
    40       * @param key Property key.
    41       * @return Boolean value or false if null or unreadable.
    42       */
    43      public static boolean getBooleanProperty(final String key) {
    44          return (getPropertyOrNull(key) == null)?
    45                  false: Boolean.valueOf(getPropertyOrNull(key)).booleanValue();
    46      }
    47
    48      /***
    49       * @param key Key to use looking up system property.
    50       * @param fallback If no value found for passed <code>key</code>, return
    51       * <code>fallback</code>.
    52       * @return Value of property or <code>fallback</code>.
    53       */
    54      public static int getIntProperty(final String key, final int fallback) {
    55          return getPropertyOrNull(key) == null?
    56                  fallback: Integer.parseInt(getPropertyOrNull(key));
    57      }
    58  }