@Override public void writeData(ObjectDataOutput out) throws IOException { out.writeUTF(name); out.writeUTF(managerPrefix); out.writeUTF(uriString); out.writeInt(backupCount); out.writeInt(asyncBackupCount); out.writeInt(inMemoryFormat.ordinal()); out.writeInt(evictionPolicy.ordinal()); out.writeObject(nearCacheConfig); // SUPER out.writeObject(keyType); out.writeObject(valueType); out.writeObject(cacheLoaderFactory); out.writeObject(cacheWriterFactory); out.writeObject(expiryPolicyFactory); out.writeBoolean(isReadThrough); out.writeBoolean(isWriteThrough); out.writeBoolean(isStoreByValue); out.writeBoolean(isManagementEnabled); final boolean listNotEmpty = listenerConfigurations != null && !listenerConfigurations.isEmpty(); out.writeBoolean(listNotEmpty); if (listNotEmpty) { out.writeInt(listenerConfigurations.size()); for (CacheEntryListenerConfiguration<K, V> cc : listenerConfigurations) { out.writeObject(cc); } } }
@Override public void readData(ObjectDataInput in) throws IOException { name = in.readUTF(); managerPrefix = in.readUTF(); uriString = in.readUTF(); backupCount = in.readInt(); asyncBackupCount = in.readInt(); final int resultInMemoryFormat = in.readInt(); inMemoryFormat = InMemoryFormat.values()[resultInMemoryFormat]; final int resultEvictionPolicy = in.readInt(); evictionPolicy = EvictionPolicy.values()[resultEvictionPolicy]; nearCacheConfig = in.readObject(); // SUPER keyType = in.readObject(); valueType = in.readObject(); cacheLoaderFactory = in.readObject(); cacheWriterFactory = in.readObject(); expiryPolicyFactory = in.readObject(); isReadThrough = in.readBoolean(); isWriteThrough = in.readBoolean(); isStoreByValue = in.readBoolean(); isManagementEnabled = in.readBoolean(); final boolean listNotEmpty = in.readBoolean(); if (listNotEmpty) { final int size = in.readInt(); listenerConfigurations = new HashSet<CacheEntryListenerConfiguration<K, V>>(size); for (int i = 0; i < size; i++) { listenerConfigurations.add((CacheEntryListenerConfiguration<K, V>) in.readObject()); } } }