Dear Wiki user, You have subscribed to a wiki page or wiki category on "River Wiki" for change notification.
The "Serialization" page has been changed by PeterFirmstone: http://wiki.apache.org/river/Serialization?action=diff&rev1=13&rev2=14 {{{ class SerializationBuilderImp extends Builder implements Serializable { + // Serial fields - // use a data object to hold the serial state to keep it simple, otherwise - // create a separate serializable private static class to hold it. private Map mutableMap = new HashMap(); + - // the built target object to work around readResolve issue. + // Build target object to work around readResolve issue. - private transient Map serialBuilt = null; + private transient volatile Map serialBuilt = null; + // Map interface method, delegates if constructed with serialization. public Object put(Object key, Object value){ if ( serialBuilt != null ) return serialBuilt.put(key, value); return mutableMap.put(key, value); } + // Map interface method, delegates if constructed with serialization. public Set entrySet(){ if ( serialBuilt != null ) return serialBuilt.entrySet(); return mutableMap.entrySet(); @@ -164, +166 @@ out.defaultWriteObject(); } + // If deserialized state may have changed since, if another type of + // Map, apart from ImmutableMap, uses the same builder for example. private Object writeReplace() { if ( serialBuilt != null ) return serialBuilt; return this;
