@Override public TraversedReferences getPortableObjects(final Object pojo, final TraversedReferences addTo) { final Map m = (Map) pojo; filterPortableObjects(m.keySet(), addTo); filterPortableObjects(m.values(), addTo); return addTo; }
private void filterPortableObjects(final Collection objects, final TraversedReferences addTo) { for (final Iterator i = objects.iterator(); i.hasNext();) { final Object o = i.next(); if (o != null && isPortableReference(o.getClass())) { addTo.addAnonymousReference(o); } } }
switch (method) { case SerializationUtil.PUT: final Object k = getKey(params); final Object v = getValue(params); final Object pkey = getObjectForKey(objectManager, k); final Object value = getObjectForValue(objectManager, v);
@Override public void hydrate(final ClientObjectManager objectManager, final TCObject tco, final DNA dna, final Object po) throws IOException, ClassNotFoundException { final DNACursor cursor = dna.getCursor(); while (cursor.next(this.encoding)) { final LogicalAction action = cursor.getLogicalAction(); final int method = action.getMethod(); final Object[] params = action.getParameters(); apply(objectManager, po, method, params); } }
@Override public void dehydrate(final ClientObjectManager objectManager, final TCObject tco, final DNAWriter writer, final Object pojo) { final Map map = (Map) pojo; for (final Iterator i = map.entrySet().iterator(); i.hasNext();) { final Entry entry = (Entry) i.next(); final Object key = entry.getKey(); final Object value = entry.getValue(); if (!objectManager.isPortableInstance(key)) { continue; } if (!objectManager.isPortableInstance(value)) { continue; } final Object addKey = getDehydratableObject(key, objectManager); final Object addValue = getDehydratableObject(value, objectManager); if (addKey == null || addValue == null) { continue; } writer.addLogicalAction(SerializationUtil.PUT, new Object[] { addKey, addValue }); } }
switch (method) { case SerializationUtil.PUT: final Object k = getKey(params); final Object v = getValue(params); final Object pkey = getObjectForKey(objectManager, k); final Object value = getObjectForValue(objectManager, v);
@Override public void hydrate(final ClientObjectManager objectManager, final TCObject tco, final DNA dna, final Object po) throws IOException, ClassNotFoundException { final DNACursor cursor = dna.getCursor(); while (cursor.next(this.encoding)) { final LogicalAction action = cursor.getLogicalAction(); final int method = action.getMethod(); final Object[] params = action.getParameters(); apply(objectManager, po, method, params); } }
@Override public void dehydrate(final ClientObjectManager objectManager, final TCObject tco, final DNAWriter writer, final Object pojo) { final Map map = (Map) pojo; for (final Iterator i = map.entrySet().iterator(); i.hasNext();) { final Entry entry = (Entry) i.next(); final Object key = entry.getKey(); final Object value = entry.getValue(); if (!objectManager.isPortableInstance(key)) { continue; } if (!objectManager.isPortableInstance(value)) { continue; } final Object addKey = getDehydratableObject(key, objectManager); final Object addValue = getDehydratableObject(value, objectManager); if (addKey == null || addValue == null) { continue; } writer.addLogicalAction(SerializationUtil.PUT, new Object[] { addKey, addValue }); } }
@Override public TraversedReferences getPortableObjects(final Object pojo, final TraversedReferences addTo) { final Map m = (Map) pojo; filterPortableObjects(m.keySet(), addTo); filterPortableObjects(m.values(), addTo); return addTo; }
private void filterPortableObjects(final Collection objects, final TraversedReferences addTo) { for (final Iterator i = objects.iterator(); i.hasNext();) { final Object o = i.next(); if (o != null && isPortableReference(o.getClass())) { addTo.addAnonymousReference(o); } } }