Coverage Report - org.apache.giraph.utils.VertexIdData
 
Classes in this File Line Coverage Branch Coverage Complexity
VertexIdData
N/A
N/A
1
 
 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.utils;
 20  
 
 21  
 import org.apache.giraph.conf.ImmutableClassesGiraphConfigurable;
 22  
 import org.apache.hadoop.io.Writable;
 23  
 import org.apache.hadoop.io.WritableComparable;
 24  
 
 25  
 import java.io.IOException;
 26  
 
 27  
 /**
 28  
  * Stores vertex ids and data associated with a vertex
 29  
  *
 30  
  * @param <I> vertexId type parameter
 31  
  * @param <T> vertexData type parameter
 32  
  */
 33  
 public interface VertexIdData<I extends WritableComparable, T>
 34  
   extends ImmutableClassesGiraphConfigurable, Writable {
 35  
   /**
 36  
    * Create a new data object.
 37  
    *
 38  
    * @return Newly-created data object.
 39  
    */
 40  
   T createData();
 41  
 
 42  
   /**
 43  
    * Write a data object to an {@link ExtendedDataOutput}.
 44  
    *
 45  
    * @param out  {@link ExtendedDataOutput}
 46  
    * @param data Data object to write
 47  
    * @throws IOException
 48  
    */
 49  
   void writeData(ExtendedDataOutput out, T data) throws IOException;
 50  
 
 51  
   /**
 52  
    * Read a data object's fields from an {@link ExtendedDataInput}.
 53  
    *
 54  
    * @param in   {@link ExtendedDataInput}
 55  
    * @param data Data object to fill in-place
 56  
    * @throws IOException
 57  
    */
 58  
   void readData(ExtendedDataInput in, T data) throws IOException;
 59  
 
 60  
   /**
 61  
    * Initialize the inner state. Must be called before {@code add()} is
 62  
    * called.
 63  
    */
 64  
   void initialize();
 65  
 
 66  
   /**
 67  
    * Initialize the inner state, with a known size. Must be called before
 68  
    * {@code add()} is called.
 69  
    *
 70  
    * @param expectedSize Number of bytes to be expected
 71  
    */
 72  
   void initialize(int expectedSize);
 73  
 
 74  
   /**
 75  
    * Add a vertex id and data pair to the collection.
 76  
    *
 77  
    * @param vertexId Vertex id
 78  
    * @param data Data
 79  
    */
 80  
   void add(I vertexId, T data);
 81  
 
 82  
   /**
 83  
    * Add a serialized vertex id and data.
 84  
    *
 85  
    * @param serializedId The bye array which holds the serialized id.
 86  
    * @param idPos The end position of the serialized id in the byte array.
 87  
    * @param data Data
 88  
    */
 89  
   void add(byte[] serializedId, int idPos, T data);
 90  
 
 91  
   /**
 92  
    * Get the number of bytes used.
 93  
    *
 94  
    * @return Bytes used
 95  
    */
 96  
   int getSize();
 97  
 
 98  
   /**
 99  
    * Get the size of this object in serialized form.
 100  
    *
 101  
    * @return The size (in bytes) of the serialized object
 102  
    */
 103  
   int getSerializedSize();
 104  
 
 105  
   /**
 106  
    * Check if the list is empty.
 107  
    *
 108  
    * @return Whether the list is empty
 109  
    */
 110  
   boolean isEmpty();
 111  
 
 112  
   /**
 113  
    * Clear the list.
 114  
    */
 115  
   void clear();
 116  
 
 117  
   /**
 118  
    * Get an iterator over the pairs.
 119  
    *
 120  
    * @return Iterator
 121  
    */
 122  
   VertexIdDataIterator<I, T> getVertexIdDataIterator();
 123  
 }