| 166 | } |
| 167 | |
| 168 | static class FromState<T> { |
| 169 | private int i = 0; |
| 170 | private NodeInfoProvider<T> provider; |
| 171 | private HashMap<T, NodeInfo<T>> infos = new HashMap<>(); |
| 172 | |
| 173 | public FromState(NodeInfoProvider<T> provider) { |
| 174 | this.provider = provider; |
| 175 | } |
| 176 | |
| 177 | public String getId(NodeInfo<T> nodeInfo) { |
| 178 | if (nodeInfo.id == null) { |
| 179 | nodeInfo.id = "hediet.de/" + (i++); |
| 180 | } |
| 181 | return nodeInfo.id; |
| 182 | } |
| 183 | |
| 184 | public NodeInfo<T> getNodeInfo(T item) { |
| 185 | if (infos.containsKey(item)) { |
| 186 | return infos.get(item); |
| 187 | } |
| 188 | |
| 189 | NodeInfo<T> info = this.provider.getNodeInfo(item, new NodeInfo<>()); |
| 190 | infos.put(item, info); |
| 191 | return info; |
| 192 | } |
| 193 | } |
| 194 | |
| 195 | public static class NodeInfo<T> { |
| 196 | public ArrayList<EdgeInfo<T>> edges = new ArrayList<EdgeInfo<T>>(); |
nothing calls this directly
no outgoing calls
no test coverage detected