com.tecacet.finance.io.parser.NasdaqAssetParser Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jfapi Show documentation
Show all versions of jfapi Show documentation
JFApi connects to various Web Services that provide financial data such as stock prices,
splits, dividends, and FX rates.
package com.tecacet.finance.io.parser;
import com.tecacet.finance.model.Asset;
import com.tecacet.finance.model.AssetType;
import com.tecacet.finance.model.Exchange;
import com.tecacet.jflat.CSVReader;
import org.apache.commons.csv.CSVFormat;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
public class NasdaqAssetParser {
private final CSVReader reader = CSVReader.
readerWithHeaderMapping(Asset.class, new String[] {"Symbol", "Security Name", "Round Lot Size"},
new String[] {"symbol", "name", "roundLotSize"})
.withFormat(CSVFormat.DEFAULT.withFirstRecordAsHeader().withDelimiter('|'));
public List parse(InputStream is) throws IOException {
List assets = new ArrayList<>();
reader.read(is, ( row, asset) -> {
asset.setAssetType(AssetType.STOCK);
asset.setExchange(Exchange.NASDAQ);
assets.add(asset);
});
// The last one is a footer
assets.remove(assets.size() - 1);
return assets;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy