View Javadoc

1   package org.wcb.autohome.factories;
2   
3   /***
4    * Copyright (C) 1999  Walter Bogaardt
5    *
6    * This library is free software; you can redistribute it and/or
7    * modify it under the terms of the GNU Lesser General Public
8    * License as published by the Free Software Foundation; either
9    * version 2 of the License, or (at your option) any later version.
10   *
11   * This library is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14   * Lesser General Public License for more details.
15   *
16   * You should have received a copy of the GNU Lesser General Public
17   * License along with this library; if not, write to the Free Software
18   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
19   *
20   * Project: Alice X10 Home Automation
21   */
22  import org.wcb.autohome.interfaces.X10DeviceConstants;
23  
24  /***
25   * Project:   Alice X10 Home Automation
26   *  Filename:  $Id: FactoryUtilities.java,v 1.3 2004/02/25 21:38:36 wbogaardt Exp $
27   *  Abstract:  This class is a consolidation of methods that have been commonly called
28   *            throught the application rather than keeping reimplementing the same function
29   * over and over.
30   *@author wbogaardt
31   *@version 1.0
32   */
33  public class FactoryUtilities implements X10DeviceConstants {
34  
35      /***
36       * Takes a string and returns the first
37       * character in that string as a char value.
38       * @param val the String to get the house code from
39       * @return The character of the first position in the string (Defaults to 'A');
40       */
41      public static char getHouseCode(String val) {
42          char returnVal = 'A';
43          try
44          {
45              returnVal = val.charAt(0);
46          }
47          catch (Exception err)
48          {
49              returnVal = 'A';
50          }
51          return returnVal;
52      }
53  
54      /***
55       * Takes a String representation of something like
56       * A1 and parses the integer from the string.
57       * If the entered integers
58       * are greater than 16 then 16 is returned;
59       * @param val the String value to get the device code from.
60       * @return the device code defaults to 1 or 16.
61       */
62      public static int getDeviceCode(String val) {
63          int returnVal = 0;
64          try
65          {
66              returnVal = Integer.parseInt(val.substring(1));
67          }
68          catch (NumberFormatException err)
69          {
70              return 1;
71          }
72          if (returnVal > 16)
73          {
74              returnVal = 16;
75          }
76          return returnVal;
77      }
78  
79      /***
80       * Gets the integer value from a string
81       * @param value The string to get the integer from
82       * @return  The int otherwise a default value of 1
83       */
84      public static int getIntValue(String value) {
85          try
86          {
87              return Integer.parseInt(value);
88          }
89          catch (NumberFormatException nfe)
90          {
91              return 1;
92          }
93      }
94  }
95