com.powsybl.computation.ComputationParametersBuilder Maven / Gradle / Ivy
/**
* Copyright (c) 2019, RTE (http://www.rte-france.com)
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
package com.powsybl.computation;
import com.google.common.base.Preconditions;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
/**
* @author Yichen TANG
*/
public class ComputationParametersBuilder {
private final Map timeoutMap = new HashMap<>();
private final Map deadlineMap = new HashMap<>();
public ComputationParametersBuilder setTimeout(String cmdId, long seconds) {
Objects.requireNonNull(cmdId);
Preconditions.checkArgument(seconds > 0, "Timeout must be positive.");
timeoutMap.put(cmdId, seconds);
return this;
}
public ComputationParametersBuilder setDeadline(String cmdId, long seconds) {
Objects.requireNonNull(cmdId);
Preconditions.checkArgument(seconds > 0, "Deadline must be positive.");
deadlineMap.put(cmdId, seconds);
return this;
}
public ComputationParameters build() {
return new ComputationParametersImpl(timeoutMap, deadlineMap);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy