![JAR search and dependency download from the Maven repository](/logo.png)
com.bytex.snamp.configuration.impl.SerializableEntityMap Maven / Gradle / Ivy
package com.bytex.snamp.configuration.impl;
import com.bytex.snamp.configuration.EntityConfiguration;
import com.bytex.snamp.configuration.EntityMap;
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
import java.util.Map;
import java.util.Optional;
abstract class SerializableEntityMap extends SerializableFactoryMap implements EntityMap {
private static final long serialVersionUID = -3859844548619883398L;
SerializableEntityMap() {
}
final void load(final Map entities) {
load(entities, EntityConfiguration::load);
}
@Override
public final Optional getIfPresent(final String entityID) {
return Optional.ofNullable(get(entityID));
}
@Override
protected final void writeValue(final E value, final ObjectOutput out) throws IOException {
value.writeExternal(out);
}
@SuppressWarnings("unchecked")
@Override
protected final E readValue(final ObjectInput in) throws IOException, ClassNotFoundException {
final E result = createValue();
result.readExternal(in);
result.reset(); //reset modification state after deserialization
return result;
}
@Override
protected final void writeKey(final String key, final ObjectOutput out) throws IOException {
out.writeUTF(key);
}
@Override
protected final String readKey(final ObjectInput out) throws IOException {
return out.readUTF();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy