/** * This <code>write</code> method will write the specified object * to the given XML element as as list entries. Each entry within * the given list must be assignable to the given primitive type. * This will deserialize each entry type as a primitive value. In * order to do this the parent string provided forms the element. * * @param node this is the parent output node to write values to * @param source this is the source collection to be serialized * @param mode this is used to determine whether to output CDATA */ private void write(OutputNode node, Object source, Mode mode) throws Exception { Collection list = (Collection) source; for(Object item : list) { if(item != null) { OutputNode child = node.getChild(parent); if(!isOverridden(child, item)) { child.setMode(mode); root.write(child, item); } } } }
/** * This <code>write</code> method will write the key value pairs * within the provided map to the specified XML node. This will * write each entry type must contain a key and value so that * the entry can be deserialized in to the map as a pair. If the * key or value object is composite it is read as a root object * so its <code>Root</code> annotation must be present. * * @param node this is the node the map is to be written to * @param map this is the source map that is to be written * @param mode this is the mode that has been inherited */ private void write(OutputNode node, Map map, Mode mode) throws Exception { String root = entry.getEntry(); String name = style.getElement(root); for(Object index : map.keySet()) { OutputNode next = node.getChild(name); Object item = map.get(index); next.setMode(mode); key.write(next, index); value.write(next, item); } }
/** * This <code>write</code> method will write the specified object * to the given XML element as as list entries. Each entry within * the given list must be assignable to the given primitive type. * This will deserialize each entry type as a primitive value. In * order to do this the parent string provided forms the element. * * @param source this is the source collection to be serialized * @param node this is the XML element container to be populated */ public void write(OutputNode node, Object source) throws Exception { OutputNode parent = node.getParent(); Mode mode = node.getMode(); if(!node.isCommitted()) { node.remove(); } write(parent, source, mode); }
/** * This <code>write</code> method will write the key value pairs * within the provided map to the specified XML node. This will * write each entry type must contain a key and value so that * the entry can be deserialized in to the map as a pair. If the * key or value object is composite it is read as a root object * so its <code>Root</code> annotation must be present. * * @param node this is the node the map is to be written to * @param source this is the source map that is to be written */ public void write(OutputNode node, Object source) throws Exception { OutputNode parent = node.getParent(); Mode mode = node.getMode(); Map map = (Map) source; if(!node.isCommitted()) { node.remove(); } write(parent, map, mode); }