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

网格计算

开发平台:

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.vaidya.statistics.job;
  19. import java.util.Hashtable;
  20. import java.util.Map;
  21. /**
  22.  *
  23.  */
  24. public class TaskStatistics {
  25.   
  26.   /*
  27.    * Stores task statistics as Enum/String key,value pairs.
  28.    */
  29.   private Hashtable<Enum, String>  _task = new Hashtable<Enum, String>();
  30.   
  31.   /*
  32.    * Get Long key value
  33.    */
  34.   public long getLongValue(Enum key) {
  35.     return Long.parseLong(this._task.get(key));
  36.   }
  37.   
  38.   /*
  39.    * Get double key value
  40.    */
  41.   public double getDoubleValue(Enum key) {
  42.     return Double.parseDouble(this._task.get(key));
  43.   }
  44.   
  45.   /*
  46.    * Get String key value
  47.    */
  48.   public String getStringValue(Enum key) {
  49.     return this._task.get(key);
  50.   }
  51.   
  52.   /*
  53.    * Set long key value 
  54.    */
  55.   public void setValue(Enum key, long value) {
  56.     this._task.put(key, Long.toString(value));
  57.   }
  58.   
  59.   /*
  60.    * Set double key value
  61.    */
  62.   public void setValue(Enum key, double value) {
  63.     this._task.put(key, Double.toString(value));
  64.   }
  65.   
  66.   /*
  67.    * Set String key value
  68.    */
  69.   public void setValue(Enum key, String value) {
  70.     this._task.put(key, value);
  71.   }
  72.   
  73.   /*
  74.    * Print the key/values pairs for a task 
  75.    */
  76.   public void  printKeys () {
  77.     java.util.Set<Map.Entry<Enum, String>> task = this._task.entrySet();
  78.     int size = task.size();
  79.     java.util.Iterator<Map.Entry<Enum, String>> kv = task.iterator();
  80.     for (int i = 0; i < size; i++)
  81.     {
  82.       Map.Entry<Enum, String> entry = (Map.Entry<Enum, String>) kv.next();
  83.       Enum key = entry.getKey();
  84.       String value = entry.getValue();
  85.       System.out.println("Key:<" + key.name() + ">, value:<"+ value +">"); 
  86.     }
  87.   }
  88. }