Package com.manning.hip.ch3

Source Code of com.manning.hip.ch3.StockPriceWritable

package com.manning.hip.ch3;

import com.manning.hip.ch3.csv.CSVParser;
import org.apache.commons.lang.builder.*;
import org.apache.hadoop.io.*;

import java.io.*;

public class StockPriceWritable
    implements WritableComparable<StockPriceWritable>, Cloneable {
  String symbol;
  String date;
  double open;
  double high;
  double low;
  double close;
  int volume;
  double adjClose;

  public StockPriceWritable() {
  }

  public StockPriceWritable(String symbol,
                            String date,
                            double open,
                            double high,
                            double low,
                            double close,
                            int volume,
                            double adjClose) {
    this.symbol = symbol;
    this.date = date;
    this.open = open;
    this.high = high;
    this.low = low;
    this.close = close;
    this.volume = volume;
    this.adjClose = adjClose;
  }

  @Override
  public void write(DataOutput out) throws IOException {
    WritableUtils.writeString(out, symbol);
    WritableUtils.writeString(out, date);
    out.writeDouble(open);
    out.writeDouble(high);
    out.writeDouble(low);
    out.writeDouble(close);
    out.writeInt(volume);
    out.writeDouble(adjClose);
  }

  @Override
  public void readFields(DataInput in) throws IOException {
    symbol = WritableUtils.readString(in);
    date = WritableUtils.readString(in);
    open = in.readDouble();
    high = in.readDouble();
    low = in.readDouble();
    close = in.readDouble();
    volume = in.readInt();
    adjClose = in.readDouble();
  }

  @Override
  public int compareTo(StockPriceWritable passwd) {
    return CompareToBuilder.reflectionCompare(this, passwd);
  }

  @Override
  public String toString() {
    return ToStringBuilder
        .reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE);
  }

  public String getSymbol() {
    return symbol;
  }

  public void setSymbol(String symbol) {
    this.symbol = symbol;
  }

  public String getDate() {
    return date;
  }

  public void setDate(String date) {
    this.date = date;
  }

  public double getOpen() {
    return open;
  }

  public void setOpen(double open) {
    this.open = open;
  }

  public double getHigh() {
    return high;
  }

  public void setHigh(double high) {
    this.high = high;
  }

  public double getLow() {
    return low;
  }

  public void setLow(double low) {
    this.low = low;
  }

  public double getClose() {
    return close;
  }

  public void setClose(double close) {
    this.close = close;
  }

  public int getVolume() {
    return volume;
  }

  public void setVolume(int volume) {
    this.volume = volume;
  }

  public double getAdjClose() {
    return adjClose;
  }

  public void setAdjClose(double adjClose) {
    this.adjClose = adjClose;
  }

  public static StockPriceWritable fromLine(String line)
      throws IOException {
    CSVParser parser = new CSVParser();
    String[] parts = parser.parseLine(line);

    StockPriceWritable stock = new StockPriceWritable(
        //<co id="ch03_comment_seqfile_write3"/>
        parts[0], parts[1], Double.valueOf(parts[2]),
        Double.valueOf(parts[3]),
        Double.valueOf(parts[4]),
        Double.valueOf(parts[5]),
        Integer.valueOf(parts[6]),
        Double.valueOf(parts[7])
    );
    return stock;
  }
}
TOP

Related Classes of com.manning.hip.ch3.StockPriceWritable

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.