GraphState.java 1.7 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
/***********************************************************************************************************************
 *
 * Copyright (C) 2010-2014 by the Stratosphere project (http://stratosphere.eu)
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
 * the License. You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
 * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 *
 **********************************************************************************************************************/

16
package eu.stratosphere.streaming.state;
17

18
import java.util.HashMap;
19 20 21
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
22

23 24
public class GraphState {
	public Map<Integer, Set<Integer>> vertices = null;
25

26 27
	public GraphState() {
		vertices = new HashMap<Integer, Set<Integer>>();
28
	}
29

30 31 32 33 34
	public void insertDirectedEdge(int sourceNode, int targetNode) {
		if (!vertices.containsKey(sourceNode)) {
			vertices.put(sourceNode, new HashSet<Integer>());
		}
		vertices.get(sourceNode).add(targetNode);
35
	}
36
	
37 38 39 40 41 42 43 44 45 46
	public void insertUndirectedEdge(int sourceNode, int targetNode){
		if(!vertices.containsKey(sourceNode)){
			vertices.put(sourceNode, new HashSet<Integer>());
		}
		if(!vertices.containsKey(targetNode)){
			vertices.put(targetNode, new HashSet<Integer>());
		}
		vertices.get(sourceNode).add(targetNode);
		vertices.get(targetNode).add(sourceNode);
	}
47
}