/* * Copyright (c) 2014 Red Hat, Inc. and/or its affiliates. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Cheng Fang - Initial API and implementation */ package org.jberet.support.io; import java.io.Serializable; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.JsonProperty; /** * A bean class that represents company data. * The CSV file, companylist.csv, is downloaded from * http://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=nasdaq&render=download */ @JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE, setterVisibility = JsonAutoDetect.Visibility.NONE) public class Company implements Serializable { private static final long serialVersionUID = -4680584766804470416L; @JsonProperty("Symbol") String symbol; @JsonProperty("Name") String name; @JsonProperty("LastSale") double lastSale; @JsonProperty("MarketCap") double marketCap; @JsonProperty("ADR TSO") String address; @JsonProperty("IPOyear") String ipoYear; @JsonProperty("Sector") String sector; @JsonProperty("industry") String industry; @JsonProperty("Summary Quote") String summaryQuote; public String getSymbol() { return symbol; } public void setSymbol(final String symbol) { this.symbol = symbol; } public String getName() { return name; } public void setName(final String name) { this.name = name; } public double getLastSale() { return lastSale; } public void setLastSale(final double lastSale) { this.lastSale = lastSale; } public double getMarketCap() { return marketCap; } public void setMarketCap(final double marketCap) { this.marketCap = marketCap; } public String getAddress() { return address; } public void setAddress(final String address) { this.address = address; } public String getIpoYear() { return ipoYear; } public void setIpoYear(final String ipoYear) { this.ipoYear = ipoYear; } public String getSector() { return sector; } public void setSector(final String sector) { this.sector = sector; } public String getIndustry() { return industry; } public void setIndustry(final String industry) { this.industry = industry; } public String getSummaryQuote() { return summaryQuote; } public void setSummaryQuote(final String summaryQuote) { this.summaryQuote = summaryQuote; } @Override public String toString() { final StringBuilder sb = new StringBuilder("Company{"); sb.append("symbol='").append(symbol).append('\''); sb.append(", name='").append(name).append('\''); sb.append(", lastSale=").append(lastSale); sb.append(", marketCap=").append(marketCap); sb.append(", address='").append(address).append('\''); sb.append(", ipoYear='").append(ipoYear).append('\''); sb.append(", sector='").append(sector).append('\''); sb.append(", industry='").append(industry).append('\''); sb.append(", summaryQuote='").append(summaryQuote).append('\''); sb.append('}'); return sb.toString(); } @Override public boolean equals(final Object o) { if (this == o) return true; if (!(o instanceof Company)) return false; final Company company = (Company) o; if (Double.compare(company.lastSale, lastSale) != 0) return false; if (Double.compare(company.marketCap, marketCap) != 0) return false; if (address != null ? !address.equals(company.address) : company.address != null) return false; if (industry != null ? !industry.equals(company.industry) : company.industry != null) return false; if (ipoYear != null ? !ipoYear.equals(company.ipoYear) : company.ipoYear != null) return false; if (!name.equals(company.name)) return false; if (sector != null ? !sector.equals(company.sector) : company.sector != null) return false; if (summaryQuote != null ? !summaryQuote.equals(company.summaryQuote) : company.summaryQuote != null) return false; if (!symbol.equals(company.symbol)) return false; return true; } @Override public int hashCode() { int result; long temp; result = symbol.hashCode(); result = 31 * result + name.hashCode(); temp = Double.doubleToLongBits(lastSale); result = 31 * result + (int) (temp ^ (temp >>> 32)); temp = Double.doubleToLongBits(marketCap); result = 31 * result + (int) (temp ^ (temp >>> 32)); result = 31 * result + (address != null ? address.hashCode() : 0); result = 31 * result + (ipoYear != null ? ipoYear.hashCode() : 0); result = 31 * result + (sector != null ? sector.hashCode() : 0); result = 31 * result + (industry != null ? industry.hashCode() : 0); result = 31 * result + (summaryQuote != null ? summaryQuote.hashCode() : 0); return result; } }