/*
* Copyright: Almende B.V. (2014), Rotterdam, The Netherlands
* License: The Apache Software License, Version 2.0
*/
package com.almende.eve.algorithms.simulation;
import com.almende.eve.protocol.InboxProtocolConfig;
import com.fasterxml.jackson.databind.node.ObjectNode;
/**
* The Class JSONRpcProtocolConfig.
*/
public class SimulationInboxProtocolConfig extends InboxProtocolConfig {
private static final String BUILDER = SimulationInboxProtocolBuilder.class
.getName();
protected SimulationInboxProtocolConfig() {
super();
}
/**
* Instantiates a new Simulation inbox protocol config.
*
* @return the simulation inbox protocol config
*/
public static SimulationInboxProtocolConfig create() {
final SimulationInboxProtocolConfig res = new SimulationInboxProtocolConfig();
res.setBuilder(BUILDER);
return res;
}
/**
* Instantiates a new Simulation inbox protocol config.
*
* @param node
* the node
*/
public static SimulationInboxProtocolConfig decorate(final ObjectNode node) {
final SimulationInboxProtocolConfig res = new SimulationInboxProtocolConfig();
res.extend(node);
return res;
}
/**
* Should the network become atomic, zero-time duration transfers?
*
* @param atomicNetwork
* the new atomic network
*/
public void setAtomicNetwork(final boolean atomicNetwork) {
this.put("atomicNetwork", atomicNetwork);
}
/**
* Should the network become atomic, zero-time duration transfers?
*
* @return true, if is atomic network
*/
public boolean isAtomicNetwork() {
if (this.has("atomicNetwork")) {
return this.get("atomicNetwork").asBoolean();
}
return false;
}
}