RecordOutput.java
上传用户:quxuerui
上传日期:2018-01-08
资源大小:41811k
文件大小:5k
源码类别:

网格计算

开发平台:

Java

  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. package org.apache.hadoop.record;
  19. import java.io.IOException;
  20. import java.util.TreeMap;
  21. import java.util.ArrayList;
  22. /**
  23.  * Interface that alll the serializers have to implement.
  24.  */
  25. public interface RecordOutput {
  26.   /**
  27.    * Write a byte to serialized record.
  28.    * @param b Byte to be serialized
  29.    * @param tag Used by tagged serialization formats (such as XML)
  30.    * @throws IOException Indicates error in serialization
  31.    */
  32.   public void writeByte(byte b, String tag) throws IOException;
  33.   
  34.   /**
  35.    * Write a boolean to serialized record.
  36.    * @param b Boolean to be serialized
  37.    * @param tag Used by tagged serialization formats (such as XML)
  38.    * @throws IOException Indicates error in serialization
  39.    */
  40.   public void writeBool(boolean b, String tag) throws IOException;
  41.   
  42.   /**
  43.    * Write an integer to serialized record.
  44.    * @param i Integer to be serialized
  45.    * @param tag Used by tagged serialization formats (such as XML)
  46.    * @throws IOException Indicates error in serialization
  47.    */
  48.   public void writeInt(int i, String tag) throws IOException;
  49.   
  50.   /**
  51.    * Write a long integer to serialized record.
  52.    * @param l Long to be serialized
  53.    * @param tag Used by tagged serialization formats (such as XML)
  54.    * @throws IOException Indicates error in serialization
  55.    */
  56.   public void writeLong(long l, String tag) throws IOException;
  57.   
  58.   /**
  59.    * Write a single-precision float to serialized record.
  60.    * @param f Float to be serialized
  61.    * @param tag Used by tagged serialization formats (such as XML)
  62.    * @throws IOException Indicates error in serialization
  63.    */
  64.   public void writeFloat(float f, String tag) throws IOException;
  65.   
  66.   /**
  67.    * Write a double precision floating point number to serialized record.
  68.    * @param d Double to be serialized
  69.    * @param tag Used by tagged serialization formats (such as XML)
  70.    * @throws IOException Indicates error in serialization
  71.    */
  72.   public void writeDouble(double d, String tag) throws IOException;
  73.   
  74.   /**
  75.    * Write a unicode string to serialized record.
  76.    * @param s String to be serialized
  77.    * @param tag Used by tagged serialization formats (such as XML)
  78.    * @throws IOException Indicates error in serialization
  79.    */
  80.   public void writeString(String s, String tag) throws IOException;
  81.   
  82.   /**
  83.    * Write a buffer to serialized record.
  84.    * @param buf Buffer to be serialized
  85.    * @param tag Used by tagged serialization formats (such as XML)
  86.    * @throws IOException Indicates error in serialization
  87.    */
  88.   public void writeBuffer(Buffer buf, String tag)
  89.     throws IOException;
  90.   
  91.   /**
  92.    * Mark the start of a record to be serialized.
  93.    * @param r Record to be serialized
  94.    * @param tag Used by tagged serialization formats (such as XML)
  95.    * @throws IOException Indicates error in serialization
  96.    */
  97.   public void startRecord(Record r, String tag) throws IOException;
  98.   
  99.   /**
  100.    * Mark the end of a serialized record.
  101.    * @param r Record to be serialized
  102.    * @param tag Used by tagged serialization formats (such as XML)
  103.    * @throws IOException Indicates error in serialization
  104.    */
  105.   public void endRecord(Record r, String tag) throws IOException;
  106.   
  107.   /**
  108.    * Mark the start of a vector to be serialized.
  109.    * @param v Vector to be serialized
  110.    * @param tag Used by tagged serialization formats (such as XML)
  111.    * @throws IOException Indicates error in serialization
  112.    */
  113.   public void startVector(ArrayList v, String tag) throws IOException;
  114.   
  115.   /**
  116.    * Mark the end of a serialized vector.
  117.    * @param v Vector to be serialized
  118.    * @param tag Used by tagged serialization formats (such as XML)
  119.    * @throws IOException Indicates error in serialization
  120.    */
  121.   public void endVector(ArrayList v, String tag) throws IOException;
  122.   
  123.   /**
  124.    * Mark the start of a map to be serialized.
  125.    * @param m Map to be serialized
  126.    * @param tag Used by tagged serialization formats (such as XML)
  127.    * @throws IOException Indicates error in serialization
  128.    */
  129.   public void startMap(TreeMap m, String tag) throws IOException;
  130.   
  131.   /**
  132.    * Mark the end of a serialized map.
  133.    * @param m Map to be serialized
  134.    * @param tag Used by tagged serialization formats (such as XML)
  135.    * @throws IOException Indicates error in serialization
  136.    */
  137.   public void endMap(TreeMap m, String tag) throws IOException;
  138. }