1 16 package org.pentaho.core.system; 17 18 import java.math.BigDecimal ; 19 import java.util.Date ; 20 import java.util.Iterator ; 21 import java.util.Properties ; 22 23 import org.pentaho.core.solution.IParameterProvider; 24 import org.pentaho.util.ParameterHelper; 25 26 public class JVMParameterProvider implements IParameterProvider { 27 28 public String getStringParameter(String name, String defaultValue) { 29 return System.getProperty(name, defaultValue); 30 } 31 32 public long getLongParameter(String name, long defaultValue) { 33 String pValue = this.getStringParameter(name, null); 34 if (pValue == null) { 35 return defaultValue; 36 } else { 37 try { 38 return Long.parseLong(pValue); 39 } catch (Exception ex) { 40 return defaultValue; 41 } 42 } 43 } 44 45 public Date getDateParameter(String name, Date defaultValue) { 46 return ParameterHelper.parameterToDate(getStringParameter(name, null), defaultValue); 47 } 48 49 public Object getDecimalParameter(String name, Object defaultValue) { 50 String pValue = this.getStringParameter(name, null); 51 if (pValue == null) { 52 return defaultValue; 53 } else { 54 try { 55 return new BigDecimal (pValue); 56 } catch (Exception ex) { 57 return defaultValue; 58 } 59 } 60 } 61 62 public Iterator getParameterNames() { 63 Properties props = System.getProperties(); 64 return props.keySet().iterator(); 65 } 66 67 public String getParameterType(String name) { 68 return "string"; } 70 71 public Object getParameter(String name) { 72 return System.getProperty(name); 73 } 74 75 } 76 77 78 | Popular Tags |