public void marshal( Object value, HierarchicalStreamWriter writer, MarshallingContext context) { Multimap map = (Multimap) value; // similar to BreifMapConverter, but handling the multimap nature of this thing for (Object key : map.keySet()) { for (Object v : map.get(key)) { if (v != null) { writer.startNode("entry"); writer.addAttribute("key", key.toString()); writeItem(v, context, writer); writer.endNode(); } } } }
private void writeNullField(final String propertyName) { final String serializedMember = mapper.serializedMember(source.getClass(), propertyName); ExtendedHierarchicalStreamWriterHelper.startNode(writer, serializedMember, Mapper.Null.class); writer.addAttribute(classAttributeName, mapper.serializedClass(Mapper.Null.class)); writer.endNode(); } });
public void marshal( Object source, HierarchicalStreamWriter writer, MarshallingContext context) { Map map = (Map) source; for (Object o : map.entrySet()) { Map.Entry e = (Map.Entry) o; if (e.getKey() == null) { continue; } writer.startNode(name); if (map.get(null) == e.getValue()) { writer.addAttribute("default", "true"); } context.convertAnother(e.getValue()); writer.endNode(); } }
private void writeField(String fieldName, String aliasName, Class fieldType, Class definedIn, Object newObj) { try { if (!mapper.shouldSerializeMember(definedIn, aliasName)) { return; } ExtendedHierarchicalStreamWriterHelper.startNode(writer, mapper.serializedMember(definedIn, aliasName), fieldType); Class actualType = newObj.getClass(); Class defaultType = mapper.defaultImplementationOf(fieldType); if (!actualType.equals(defaultType)) { String serializedClassName = mapper.serializedClass(actualType); if (!serializedClassName.equals(mapper.serializedClass(defaultType))) { writer.addAttribute(mapper.aliasForSystemAttribute("class"), serializedClassName); } } if (seenFields.contains(aliasName)) { writer.addAttribute(mapper.aliasForAttribute("defined-in"), mapper.serializedClass(definedIn)); } Field field = reflectionProvider.getField(definedIn,fieldName); marshallField(context, newObj, field); writer.endNode(); } catch (RuntimeException e) { // intercept an exception so that the stack trace shows how we end up marshalling the object in question throw new RuntimeException("Failed to serialize "+definedIn.getName()+"#"+fieldName+" for "+source.getClass(),e); } }
public void marshal(Object source, HierarchicalStreamWriter writer, MarshallingContext context) { final Properties properties = (Properties) source; Map map = sort ? (Map)new TreeMap(properties) : (Map)properties; for (Iterator iterator = map.entrySet().iterator(); iterator.hasNext();) { Map.Entry entry = (Map.Entry) iterator.next(); writer.startNode("property"); writer.addAttribute("name", entry.getKey().toString()); writer.addAttribute("value", entry.getValue().toString()); writer.endNode(); } if (defaultsField != null) { Properties defaults = (Properties)Fields.read(defaultsField, properties); if (defaults != null) { writer.startNode("defaults"); marshal(defaults, writer, context); writer.endNode(); } } }
private void writeField(String propertyName, Class fieldType, Object newObj) { Class actualType = newObj.getClass(); Class defaultType = mapper.defaultImplementationOf(fieldType); String serializedMember = mapper.serializedMember(source.getClass(), propertyName); ExtendedHierarchicalStreamWriterHelper.startNode(writer, serializedMember, actualType); if (!actualType.equals(defaultType) && classAttributeName != null) { writer.addAttribute(classAttributeName, mapper.serializedClass(actualType)); } context.convertAnother(newObj); writer.endNode(); }
public void marshal(Object source, HierarchicalStreamWriter w, MarshallingContext context) { XStreamDOM dom = (XStreamDOM)source; w.startNode(unescape(dom.tagName)); for (int i=0; i<dom.attributes.length; i+=2) w.addAttribute(unescape(dom.attributes[i]),dom.attributes[i+1]); if (dom.value!=null) w.setValue(dom.value); else { for (XStreamDOM c : Util.fixNull(dom.children)) { marshal(c, w, context); } } w.endNode(); }
public void marshal(final Object source, final HierarchicalStreamWriter writer, final MarshallingContext context) { final int length = Array.getLength(source); for (int i = 0; i < length; ++i) { final Object item = Array.get(source, i); final Class itemType = item == null ? Mapper.Null.class : arrayType.getComponentType().isPrimitive() ? Primitives.unbox(item.getClass()) : item.getClass(); ExtendedHierarchicalStreamWriterHelper.startNode(writer, itemName, itemType); if (!itemType.equals(arrayType.getComponentType())) { final String attributeName = mapper.aliasForSystemAttribute("class"); if (attributeName != null) { writer.addAttribute(attributeName, mapper.serializedClass(itemType)); } } if (item != null) { context.convertAnother(item); } writer.endNode(); } }
public void marshal(Object source, HierarchicalStreamWriter writer, MarshallingContext context) { InvocationHandler invocationHandler = Proxy.getInvocationHandler(source); addInterfacesToXml(source, writer); writer.startNode("handler"); String attributeName = mapper.aliasForSystemAttribute("class"); if (attributeName != null) { writer.addAttribute(attributeName, mapper.serializedClass(invocationHandler.getClass())); } context.convertAnother(invocationHandler); writer.endNode(); }
protected void writeItem(String name, Class type, Object item, MarshallingContext context, HierarchicalStreamWriter writer) { Class itemType = item == null ? Mapper.Null.class : item.getClass(); ExtendedHierarchicalStreamWriterHelper.startNode(writer, name, itemType); if (!itemType.equals(type)) { String attributeName = mapper().aliasForSystemAttribute("class"); if (attributeName != null) { writer.addAttribute(attributeName, mapper().serializedClass(itemType)); } } if (item != null) { context.convertAnother(item); } writer.endNode(); }
protected static void marshalComparator( Mapper mapper, Comparator comparator, HierarchicalStreamWriter writer, MarshallingContext context) { if (comparator != null) { writer.startNode("comparator"); writer.addAttribute( mapper.aliasForSystemAttribute("class"), mapper.serializedClass(comparator.getClass())); context.convertAnother(comparator); writer.endNode(); } }
/** * @deprecated As of 1.4.11 use {@link #writeCompleteItem(Object, MarshallingContext, HierarchicalStreamWriter)} * instead. */ protected void writeItem(Object item, MarshallingContext context, HierarchicalStreamWriter writer) { final Class itemType = item == null ? Mapper.Null.class : item.getClass(); ExtendedHierarchicalStreamWriterHelper.startNode(writer, name, itemType); if (!itemType.equals(type)) { String attributeName = mapper().aliasForSystemAttribute("class"); if (attributeName != null) { writer.addAttribute(attributeName, mapper().serializedClass(itemType)); } } if (item != null) { context.convertAnother(item); } writer.endNode(); }
@Override public void marshal(Object source, HierarchicalStreamWriter writer, MarshallingContext context) { DataCenterInfo info = (DataCenterInfo) source; writer.startNode(ELEM_NAME); // For backward compat. for now writer.setValue(info.getName().name()); writer.endNode(); if (info.getName() == Name.Amazon) { AmazonInfo aInfo = (AmazonInfo) info; writer.startNode(NODE_METADATA); // for backward compat. for now if (aInfo.getMetadata().size() == 0) { writer.addAttribute("class", "java.util.Collections$EmptyMap"); } context.convertAnother(aInfo.getMetadata()); writer.endNode(); } }
writer, entryName, entry.getClass()); if (keyConverter != null && key != null) { writer.addAttribute(keyName, keyConverter.toString(key)); writer.addAttribute(valueName, valueConverter.toString(value)); writer.endNode();
protected void marshalComparator(Comparator comparator, HierarchicalStreamWriter writer, MarshallingContext context) { if (comparator != null) { writer.startNode("comparator"); writer.addAttribute(mapper().aliasForSystemAttribute("class"), mapper().serializedClass(comparator.getClass())); context.convertAnother(comparator); writer.endNode(); } }
public void writeField(String fieldName, String aliasName, Class fieldType, Class definedIn, Object newObj) { Class actualType = newObj != null ? newObj.getClass() : fieldType; ExtendedHierarchicalStreamWriterHelper.startNode(writer, aliasName != null ? aliasName : mapper.serializedMember(sourceType, fieldName), actualType); if (newObj != null) { Class defaultType = mapper.defaultImplementationOf(fieldType); if (!actualType.equals(defaultType)) { String serializedClassName = mapper.serializedClass(actualType); if (!serializedClassName.equals(mapper.serializedClass(defaultType))) { String attributeName = mapper.aliasForSystemAttribute("class"); if (attributeName != null) { writer.addAttribute(attributeName, serializedClassName); } } } final Field defaultField = (Field)defaultFieldDefinition.get(fieldName); if (defaultField.getDeclaringClass() != definedIn) { String attributeName = mapper.aliasForSystemAttribute("defined-in"); if (attributeName != null) { writer.addAttribute( attributeName, mapper.serializedClass(definedIn)); } } Field field = reflectionProvider.getField(definedIn, fieldName); marshallField(context, newObj, field); } writer.endNode(); }
public void marshal(Object source, HierarchicalStreamWriter writer, MarshallingContext context) { Font font = (Font)source; Map attributes = font.getAttributes(); if (mapper != null) { String classAlias = mapper.aliasForSystemAttribute("class"); for (Iterator iter = attributes.entrySet().iterator(); iter.hasNext();) { Map.Entry entry = (Map.Entry)iter.next(); String name = textAttributeConverter.toString(entry.getKey()); Object value = entry.getValue(); Class type = value != null ? value.getClass() : Mapper.Null.class; ExtendedHierarchicalStreamWriterHelper.startNode(writer, name, type); writer.addAttribute(classAlias, mapper.serializedClass(type)); if (value != null) { context.convertAnother(value); } writer.endNode(); } } else { writer.startNode("attributes"); // <attributes> context.convertAnother(attributes); writer.endNode(); // </attributes> } }
@Override public void marshal(Object source, HierarchicalStreamWriter writer, MarshallingContext context) { Map<?, ?> map = (Map) source; for (Iterator<?> iterator = map.entrySet().iterator(); iterator.hasNext();) { Entry entry = (Entry) iterator.next(); ExtendedHierarchicalStreamWriterHelper.startNode(writer, "param", Entry.class); writer.addAttribute("key", entry.getKey().toString().trim()); writer.addAttribute("value", entry.getValue().toString().trim()); writer.endNode(); } }
writer.startNode("entry"); writer.addAttribute("key", entry.getKey().toString()); if (entry.getValue() != null) { Object value = entry.getValue(); writer.startNode(complexTypeId); context.convertAnother(value); writer.endNode(); writer.endNode();
@SuppressWarnings("rawtypes") public void marshal(Object source, HierarchicalStreamWriter writer, MarshallingContext context) { ExtendProperties map = (ExtendProperties) source; for (Iterator iterator = map.getExtendMap().entrySet().iterator(); iterator.hasNext(); ) { Entry entry = (Entry) iterator.next(); ExtendedHierarchicalStreamWriterHelper.startNode(writer, "property", Entry.class); writer.addAttribute("key", entry.getKey().toString()); writer.addAttribute("value", entry.getValue().toString()); writer.endNode(); } }