Package tradingphysics

Source Code of tradingphysics.Stock

package tradingphysics;

import java.sql.*;
import java.util.Calendar;
import java.util.HashMap;
import java.util.concurrent.ExecutorService;

import taskmanager.HedgeException;
import taskrunner.Database;
import taskrunner.Indicator;
import taskrunner.Task;

public class Stock extends Security {

  private static final long serialVersionUID = 6338531383740536872L;
  protected static Integer logLevel = Task.DEBUG;

  public static HashMap<String, Stock> stockInstance = new HashMap<String, Stock>();
 
  public static Stock factory(String symbol)
  {
    if(!stockInstance.containsKey(symbol)) {
      stockInstance.put(symbol, new Stock(symbol));
    }
    return stockInstance.get(symbol);
  }
 
  public Stock(String symbol) {
    super(symbol, null);
  }

  public Stock(String symbol, ExecutorService threadPool) {
    super(symbol, threadPool);
  }

  public void parseData(String newData, String[] dataTypes, Calendar date) {
    String dataParts[] = newData.split(",");
    TimeSlice slice = new TimeSlice(date, dataParts[0]);

    if(!dataParts[0].equals("Tick")) {
      for(Integer i = 0; i < dataTypes.length && i < dataParts.length-1; i++) {
        slice.addDatumPair(new Indicator(dataTypes[i]), dataParts[i+1]);
      }

      this.addTimeSlice(slice);
    }
  }

  @Override
  protected Boolean securityExists() {
    ResultSet security = Database.query("SELECT COUNT(1) FROM security WHERE symbol = '" + this.symbol + "';");
    Boolean hasRows = false;
    try {
      hasRows = security.next();
      security.getStatement().getConnection().close();
      security.getStatement().close();
    } catch (SQLException e) {
      HedgeException.handle(e);
    }
   
   
    return hasRows;
  }

  @Override
  protected void insertSecurityToDb() {
   
    // TODO Auto-generated method stub
  }

  @Override
  protected void loadSecurity() {
    ResultSet security = Database.query("SELECT security_id, symbol FROM security WHERE symbol = '" + this.symbol + "';");
    try {
      if(security.next()) {
        this.id = security.getInt(1);
      }
    } catch (SQLException e) {
      HedgeException.handle(e);
    } finally {
      try {
        security.getStatement().getConnection().close();
        security.getStatement().close();
      } catch (SQLException e) {
        HedgeException.handle(e);
      }
    }
  }
}
TOP

Related Classes of tradingphysics.Stock

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.