/** * Reads the specified child into the given object. */ protected void decodeChild(mxCodec dec, Node child, Object obj) { String fieldname = getFieldName(((Element) child).getAttribute("as")); if (fieldname == null || !isExcluded(obj, fieldname, child, false)) { Object template = getFieldTemplate(obj, fieldname, child); Object value = null; if (child.getNodeName().equals("add")) { value = ((Element) child).getAttribute("value"); if (value == null) { value = child.getTextContent(); } } else { value = dec.decode(child, template); // System.out.println("Decoded " + child.getNodeName() + "." // + fieldname + "=" + value); } addObjectValue(obj, fieldname, value, template); } }
Node node = enc.document.createElement(getName()); obj = beforeEncode(enc, obj, node); encodeObject(enc, obj, node); return afterEncode(enc, obj, node);
/** * Writes the given value into node using writePrimitiveAttribute * or writeComplexAttribute depending on the type of the value. */ protected void writeAttribute(mxCodec enc, Object obj, String attr, Object value, Node node) { value = convertValueToXml(value); if (isPrimitiveValue(value)) { writePrimitiveAttribute(enc, obj, attr, value, node); } else { writeComplexAttribute(enc, obj, attr, value, node); } }
obj = cloneTemplate(node); node = beforeDecode(dec, node, obj); decodeNode(dec, node, obj); obj = afterDecode(dec, node, obj);
/** * Parses the given node into the object or returns a new object * representing the given node. * * @param dec Codec that controls the encoding process. * @param node XML node to be decoded. * @return Returns the resulting object that represents the given XML node. */ public Object decode(mxCodec dec, Node node) { return decode(dec, node, null); }
Method method = getAccessor(obj, field, false); value = convertValueFromXml(type, value);
codec = new mxObjectCodec(instance); register(codec);
obj = cloneTemplate(node); node = beforeDecode(dec, node, obj); decodeNode(dec, node, obj); obj = afterDecode(dec, node, obj);
/** * Parses the given node into the object or returns a new object * representing the given node. * * @param dec Codec that controls the encoding process. * @param node XML node to be decoded. * @return Returns the resulting object that represents the given XML node. */ public Object decode(mxCodec dec, Node node) { return decode(dec, node, null); }
Method method = getAccessor(obj, field, false); value = convertValueFromXml(type, value);
codec = new mxObjectCodec(instance); register(codec);
/** * Writes the given value into node using writePrimitiveAttribute * or writeComplexAttribute depending on the type of the value. */ protected void writeAttribute(mxCodec enc, Object obj, String attr, Object value, Node node) { value = convertValueToXml(value); if (isPrimitiveValue(value)) { writePrimitiveAttribute(enc, obj, attr, value, node); } else { writeComplexAttribute(enc, obj, attr, value, node); } }
/** * Reads the specified child into the given object. */ protected void decodeChild(mxCodec dec, Node child, Object obj) { String fieldname = getFieldName(((Element) child).getAttribute("as")); if (fieldname == null || !isExcluded(obj, fieldname, child, false)) { Object template = getFieldTemplate(obj, fieldname, child); Object value = null; if (child.getNodeName().equals("add")) { value = ((Element) child).getAttribute("value"); if (value == null) { value = child.getTextContent(); } } else { value = dec.decode(child, template); // log.log(Level.FINEST, "Decoded " + child.getNodeName() + "." // + fieldname + "=" + value); } addObjectValue(obj, fieldname, value, template); } }
Node node = enc.document.createElement(getName()); obj = beforeEncode(enc, obj, node); encodeObject(enc, obj, node); return afterEncode(enc, obj, node);
obj = codec.decode(this, node, into);
obj = codec.decode(this, node, into);
cell = (mxICell) decoder.decode(this, node);
cell = (mxICell) decoder.decode(this, node);
object = decoder.decode(dec, element);
object = decoder.decode(dec, element);