com.crabshue.commons.xproc.XprocResult Maven / Gradle / Ivy
package com.crabshue.commons.xproc;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.crabshue.commons.exceptions.ApplicationException;
import com.crabshue.commons.xproc.exceptions.XProcErrorType;
public class XprocResult {
Map> map;
public XprocResult() {
map = new HashMap<>();
}
public void add(String port, T handled) {
if (!map.containsKey(port)) {
map.put(port, new ArrayList<>());
}
map.get(port).add(handled);
}
public T getFirstOrDefault(String port, T defaultValue) {
return map.getOrDefault(port, new ArrayList<>()).stream().findFirst().orElse(defaultValue);
}
public T getPortFirst(String port) {
List portList = getPort(port);
return portList.get(0);
}
public List getPort(String port) {
if (!map.containsKey(port))
throw new ApplicationException(XProcErrorType.PORT_NOT_FOUND, "port not found").addContextValue("port",
port);
return map.get(port);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy