QName type = definition.getType(); String className = getClassName(type, true); int index = className.lastIndexOf('.');
private void writeDataMembers(PrintWriter pw, ConfigurationMetadata model) { for (ConfigurationItemMetadata definition : model.getDefinitions()) { QName type = definition.getType(); String className = getClassName(type, false); String memberName = JAXBUtils.nameToIdentifier(definition.getName(), JAXBUtils.IdentifierType.VARIABLE); pw.print(" private "); pw.print(className); pw.print(" "); pw.print(memberName); pw.println(";"); } pw.println(); pw.print(" private Collection<String> _initialized = "); pw.println("new ArrayList<String>();"); pw.println(); }
Object defaultValue = definition.getDefaultValue(); if (defaultValue != null && !defaultValue.getClass().isAssignableFrom(value.getClass())) { QName type = model.getDefinition(name).getType(); throw new ConfigurationException(new Message("ITEM_TYPE_MISMATCH_EXC", BUNDLE, name, type));
protected void addItem(ConfigurationItemMetadata item) { definitions.put(item.getName(), item); }
public Object getObject(String name) { ConfigurationItemMetadata definition = model.getDefinition(name); if (null == definition) { throw new ConfigurationException(new Message("ITEM_NOT_DEFINED_EXC", BUNDLE, name)); } Configuration holder = this; while (null != holder) { Object obj = getLocal(holder, name); if (null != obj) { return obj; } holder = holder.getParent(); } return definition.getDefaultValue(); }
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 Object unmarshalDefaultValue(ConfigurationItemMetadata item, Element data, boolean doValidate) { try { return unmarshal(item.getType(), data, doValidate); } catch (JAXBException ex) { if (forceDefaults) { Message msg = new Message("DEFAULT_VALUE_UNMARSHAL_ERROR_EXC", LOG, item.getName()); throw new ConfigurationException(msg, ex); } return null; } }
@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)); } }
private void writeAccessors(PrintWriter pw, ConfigurationMetadata model) { QName type = definition.getType(); String className = getClassName(type, false); String memberName = JAXBUtils.nameToIdentifier(definition.getName(), JAXBUtils.IdentifierType.VARIABLE); pw.print(className); pw.print(" "); pw.print(JAXBUtils.nameToIdentifier(definition.getName(), JAXBUtils.IdentifierType.GETTER)); pw.println("() {"); pw.print(" return "); pw.print(JAXBUtils.nameToIdentifier(definition.getName(), JAXBUtils.IdentifierType.SETTER)); pw.print("("); pw.print(className); pw.println(" = obj;"); pw.print(" if (!_initialized.contains(\""); pw.print(definition.getName()); pw.println("\")) {"); pw.print(" _initialized.add(\""); pw.print(definition.getName()); pw.println("\");"); pw.println(" }");
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 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)); } }
void registerCustomEditors(Configuration c) { for (ConfigurationItemMetadata definition : c.getModel().getDefinitions()) { QName qn = definition.getType(); String className = BeanGenerator.getClassName(qn, true); Class cl = JAXBUtils.holderClass(className); if (null != cl) { continue; } try { cl = Class.forName(className); } catch (ClassCastException ex) { throw new ConfigurationException(new Message("COULD_NOT_REGISTER_PROPERTY_EDITOR_EXC", LOG, className), ex); } catch (ClassNotFoundException ex) { throw new ConfigurationException(new Message("COULD_NOT_REGISTER_PROPERTY_EDITOR_EXC", LOG, className), ex); } if (cl == String.class) { continue; } if (null == getCustomEditors().get(cl)) { registerCustomEditor(cl, editor); if (LOG.isLoggable(Level.FINE)) { LOG.fine("Registered JaxbPropertyEditor for class: " + className); } } } }
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; }