1   /**
2    * Copyright (c) 2000-2009 Liferay, Inc. All rights reserved.
3    *
4    * The contents of this file are subject to the terms of the Liferay Enterprise
5    * Subscription License ("License"). You may not use this file except in
6    * compliance with the License. You can obtain a copy of the License by
7    * contacting Liferay, Inc. See the License for the specific language governing
8    * permissions and limitations under the License, including but not limited to
9    * distribution rights of the Software.
10   *
11   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
13   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
14   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
15   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
16   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
17   * SOFTWARE.
18   */
19  
20  package com.liferay.util;
21  
22  import com.liferay.portal.kernel.util.GetterUtil;
23  import com.liferay.portal.kernel.util.StringPool;
24  import com.liferay.portal.kernel.util.StringUtil;
25  
26  import java.util.HashMap;
27  import java.util.Map;
28  
29  /**
30   * <a href="PKParser.java.html"><b><i>View Source</i></b></a>
31   *
32   * @author Brian Wing Shun Chan
33   *
34   */
35  public class PKParser {
36  
37      public PKParser(String pk) {
38          if (pk.startsWith(StringPool.OPEN_CURLY_BRACE)) {
39              pk = pk.substring(1, pk.length());
40          }
41  
42          if (pk.endsWith(StringPool.CLOSE_CURLY_BRACE)) {
43              pk = pk.substring(0, pk.length() - 1);
44          }
45  
46          String[] array = StringUtil.split(pk);
47  
48          for (int i = 0; i < array.length; i++) {
49              String[] kvp = StringUtil.split(array[i], StringPool.EQUAL);
50  
51              String key = kvp[0].trim();
52              String value = kvp[1].trim();
53  
54              _fields.put(key, value);
55          }
56      }
57  
58      public boolean getBoolean(String key) {
59          return GetterUtil.getBoolean(getString(key));
60      }
61  
62      public double getDouble(String key) {
63          return GetterUtil.getDouble(getString(key));
64      }
65  
66      public int getInteger(String key) {
67          return GetterUtil.getInteger(getString(key));
68      }
69  
70      public long getLong(String key) {
71          return GetterUtil.getLong(getString(key));
72      }
73  
74      public short getShort(String key) {
75          return GetterUtil.getShort(getString(key));
76      }
77  
78      public String getString(String key) {
79          String value = _fields.get(key);
80  
81          if (value == null) {
82              return StringPool.BLANK;
83          }
84          else {
85              return value;
86          }
87      }
88  
89      private Map<String, String> _fields = new HashMap<String, String>();
90  
91  }