/** * Returns Java class of an object property described by this attribute. Wraps any * thrown exceptions into CayenneRuntimeException. */ @Override public Class<?> getJavaClass() { if (this.getType() == null) { return null; } try { return Util.getJavaClass(getType()); } catch (ClassNotFoundException e) { throw new CayenneRuntimeException("Failed to load class for name '" + this.getType() + "': " + e.getMessage(), e); } }
@Override public void encodeAsXML(XMLEncoder encoder) { encoder.print("<embedded-attribute name=\"" + getName() + '\"'); if (getType() != null) { encoder.print(" type=\""); encoder.print(getType()); encoder.print('\"'); } if (attributeOverrides.isEmpty()) { encoder.println("/>"); return; } encoder.println('>'); encoder.indent(1); for (Map.Entry<String, String> e : attributeOverrides.entrySet()) { encoder.print("<embeddable-attribute-override name=\""); encoder.print(e.getKey()); encoder.print("\" db-attribute-path=\""); encoder.print(e.getValue()); encoder.println("\"/>"); } encoder.indent(-1); encoder.println("</embedded-attribute>"); }
String msg = attribute.getType() == null ? "EmbeddedAttribute '%s' has no Embeddable" : "EmbeddedAttribute '%s' has incorrect Embeddable";