public static StringKeyObjectValueMap convertMapToStringKeyObjectValueMap( Map<String, Object> map ) { StringKeyObjectValueMap jaxbMap = new StringKeyObjectValueMap(); if( map == null || map.isEmpty() ) { return jaxbMap; } for( Entry<String, Object> entry : map.entrySet() ) { jaxbMap.addEntry(new StringKeyObjectValueEntry(entry)); } return jaxbMap; }
@Override public Object put(String key, Object value) { Object oldVal = get(key); StringKeyObjectValueEntry newEntry = createJaxbStringObjectMapEntry(value, key); entries.add(newEntry); return oldVal; }
StringKeyObjectValueMap inputObjectValueMap = new StringKeyObjectValueMap(); inputObjectValueMap.put("one", null); objectList = new ArrayList<Object>(); taskServiceClient.addPossiblyNullObject(inputObjectValueMap, objectList);
void internalAddPossiblyNullObject( Object inputObject, List<Object> objectList, Map<Object, Object> seenObjectsMap ) { if( inputObject != null ) { if( seenObjectsMap.put(inputObject, PRESENT) != null ) { return; } if( inputObject instanceof List ) { for( Object obj : (List<?>)inputObject ) { internalAddPossiblyNullObject(obj, objectList, seenObjectsMap); } } else if( inputObject instanceof JaxbStringObjectPairArray ) { for( JaxbStringObjectPair stringObjectPair : ((JaxbStringObjectPairArray) inputObject).getItems() ) { if( stringObjectPair != null ) { internalAddPossiblyNullObject(stringObjectPair.getValue(), objectList, seenObjectsMap); } } } else if( inputObject instanceof StringKeyObjectValueMap ) { for( Object obj : ((StringKeyObjectValueMap) inputObject).values() ) { internalAddPossiblyNullObject(obj, objectList, seenObjectsMap); } } else { objectList.add(inputObject); } } }
@Override public StringKeyObjectValueMap marshal(Map<String, Object> map) throws Exception { if( map == null ) { return null; } StringKeyObjectValueMap xmlMap = new StringKeyObjectValueMap(); for(Entry<String, Object> entry : map.entrySet()) { Object value = entry.getValue(); String key = entry.getKey(); StringKeyObjectValueEntry xmlEntry = createJaxbStringObjectMapEntry(value, key); xmlMap.addEntry(xmlEntry); } return xmlMap; }