public <T> T getObject(Class<T> cls, String name) { Object obj = getObject(name); return cls.cast(obj); }
public long getLong(String name) { Object obj = getObject(name); if (null == obj) { throw new ConfigurationException(new Message("ITEM_NO_VALUE_EXC", BUNDLE, name)); } try { return ((Long)obj).longValue(); } catch (ClassCastException ex) { QName type = model.getDefinition(name).getType(); throw new ConfigurationException(new Message("ITEM_TYPE_MISMATCH_EXC", BUNDLE, name, type)); } }
public int getInt(String name) { Object obj = getObject(name); if (null == obj) { throw new ConfigurationException(new Message("ITEM_NO_VALUE_EXC", BUNDLE, name)); } try { return ((Integer)obj).intValue(); } catch (ClassCastException ex) { QName type = model.getDefinition(name).getType(); throw new ConfigurationException(new Message("ITEM_TYPE_MISMATCH_EXC", BUNDLE, name, type)); } }
public boolean getBoolean(String name) { Object obj = getObject(name); if (null == obj) { throw new ConfigurationException(new Message("ITEM_NO_VALUE_EXC", BUNDLE, name)); } try { return ((Boolean)obj).booleanValue(); } catch (ClassCastException ex) { QName type = model.getDefinition(name).getType(); throw new ConfigurationException(new Message("ITEM_TYPE_MISMATCH_EXC", BUNDLE, name, type)); } }
public float getFloat(String name) { Object obj = getObject(name); if (null == obj) { throw new ConfigurationException(new Message("ITEM_NO_VALUE_EXC", BUNDLE, name)); } try { return ((Float)obj).floatValue(); } catch (ClassCastException ex) { QName type = model.getDefinition(name).getType(); throw new ConfigurationException(new Message("ITEM_TYPE_MISMATCH_EXC", BUNDLE, name, type)); } }
public short getShort(String name) { Object obj = getObject(name); if (null == obj) { throw new ConfigurationException(new Message("ITEM_NO_VALUE_EXC", BUNDLE, name)); } try { return ((Short)obj).shortValue(); } catch (ClassCastException ex) { QName type = model.getDefinition(name).getType(); throw new ConfigurationException(new Message("ITEM_TYPE_MISMATCH_EXC", BUNDLE, name, type)); } }
public double getDouble(String name) { Object obj = getObject(name); if (null == obj) { throw new ConfigurationException(new Message("ITEM_NO_VALUE_EXC", BUNDLE, name)); } try { return ((Double)obj).doubleValue(); } catch (ClassCastException ex) { QName type = model.getDefinition(name).getType(); throw new ConfigurationException(new Message("ITEM_TYPE_MISMATCH_EXC", BUNDLE, name, type)); } }
public String getString(String name) { Object obj = getObject(name); if (null == obj) { throw new ConfigurationException(new Message("ITEM_NO_VALUE_EXC", BUNDLE, name)); } if (!(obj instanceof String)) { QName type = model.getDefinition(name).getType(); throw new ConfigurationException(new Message("ITEM_TYPE_MISMATCH_EXC", BUNDLE, name, type)); } return (String)obj; }
@SuppressWarnings("unchecked") public List<String> getStringList(String name) { Object obj = getObject(name); if (null == obj) { throw new ConfigurationException(new Message("ITEM_NO_VALUE_EXC", BUNDLE, name)); } try { Method method = obj.getClass().getMethod("getItem", new Class[0]); obj = method.invoke(obj, new Object[0]); return (List<String>)obj; } catch (ClassCastException ex) { QName type = model.getDefinition(name).getType(); throw new ConfigurationException(new Message("ITEM_TYPE_MISMATCH_EXC", BUNDLE, name, type)); } catch (NoSuchMethodException e) { QName type = model.getDefinition(name).getType(); throw new ConfigurationException(new Message("ITEM_TYPE_MISMATCH_EXC", BUNDLE, name, type)); } catch (IllegalAccessException e) { QName type = model.getDefinition(name).getType(); throw new ConfigurationException(new Message("ITEM_TYPE_MISMATCH_EXC", BUNDLE, name, type)); } catch (InvocationTargetException e) { QName type = model.getDefinition(name).getType(); throw new ConfigurationException(new Message("ITEM_TYPE_MISMATCH_EXC", BUNDLE, name, type)); } }