This project has retired. For details please refer to its Attic page.
EdgeWithSource xref
View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *     http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing, software
13   * distributed under the License is distributed on an "AS IS" BASIS,
14   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   * See the License for the specific language governing permissions and
16   * limitations under the License.
17   */
18  
19  package org.apache.giraph.io.iterables;
20  
21  import org.apache.giraph.edge.ReusableEdge;
22  import org.apache.hadoop.io.Writable;
23  import org.apache.hadoop.io.WritableComparable;
24  
25  /**
26   * Wrapper for edge and its source id
27   *
28   * @param <I> Vertex id
29   * @param <E> Edge data
30   */
31  public class EdgeWithSource<I extends WritableComparable,
32      E extends Writable> {
33    /** Source id */
34    private I sourceVertexId;
35    /** Edge */
36    private ReusableEdge<I, E> edge;
37  
38    /**
39     * Constructor
40     */
41    public EdgeWithSource() {
42    }
43  
44    /**
45     * Constructor with source id and edge
46     *
47     * @param sourceVertexId Source id
48     * @param edge Edge
49     */
50    public EdgeWithSource(I sourceVertexId, ReusableEdge<I, E> edge) {
51      this.sourceVertexId = sourceVertexId;
52      this.edge = edge;
53    }
54  
55    public I getSourceVertexId() {
56      return sourceVertexId;
57    }
58  
59    public void setSourceVertexId(I sourceVertexId) {
60      this.sourceVertexId = sourceVertexId;
61    }
62  
63    public ReusableEdge<I, E> getEdge() {
64      return edge;
65    }
66  
67    public void setEdge(ReusableEdge<I, E> edge) {
68      this.edge = edge;
69    }
70  
71    public I getTargetVertexId() {
72      return edge.getTargetVertexId();
73    }
74  
75    /**
76     * Set target vertex id of this edge
77     *
78     * @param targetVertexId Target vertex id
79     */
80    public void setTargetVertexId(I targetVertexId) {
81      edge.setTargetVertexId(targetVertexId);
82    }
83  
84    public E getEdgeValue() {
85      return edge.getValue();
86    }
87  
88    /**
89     * Set the value of this edge
90     *
91     * @param value Edge value
92     */
93    public void setEdgeValue(E value) {
94      edge.setValue(value);
95    }
96  }