Package de.kappich.sys.funclib.csv
Class IterableCsvData
- java.lang.Object
-
- de.kappich.sys.funclib.csv.IterableCsvData
-
- All Implemented Interfaces:
java.lang.Iterable<IterableCsvData.CsvRow>
- Direct Known Subclasses:
CsvData
public abstract class IterableCsvData extends java.lang.Object implements java.lang.Iterable<IterableCsvData.CsvRow>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
IterableCsvData.CsvRow
Klasse, die die Werte einer CSV-Zeile enthält
-
Field Summary
Fields Modifier and Type Field Description protected java.util.HashMap<java.lang.String,java.lang.Integer>
_columnNameToIndexMap
Map Spaltenkopf → Indexprotected java.lang.String[]
_headerCells
Spaltenköpfe
-
Constructor Summary
Constructors Constructor Description IterableCsvData(java.lang.String[] headerCells, java.util.HashMap<java.lang.String,java.lang.Integer> columnNameToIndexMap)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description CsvColumn<java.lang.String>
getColumn(int columnIndex)
Findet eine passende Spalte die String-Werte enthält und gibt einCsvColumn
-Objekt zurück, was den Zugriff auf die Werte dieser Spalte erlaubt.<T> CsvColumn<T>
getColumn(int columnIndex, CsvParser<T> parser)
Findet eine passende Spalte die Werte in einem benutzerdefinierten Format enthält und gibt einCsvColumn
-Objekt zurück, was den Zugriff auf die Werte dieser Spalte erlaubt.CsvColumn<java.lang.String>
getColumn(java.lang.String header)
Findet eine passende Spalte die String-Werte enthält und gibt einCsvColumn
-Objekt zurück, was den Zugriff auf die Werte dieser Spalte erlaubt.<T> CsvColumn<T>
getColumn(java.lang.String header, CsvParser<T> parser)
Findet eine passende Spalte die Werte in einem benutzerdefinierten Format enthält und gibt einCsvColumn
-Objekt zurück, was den Zugriff auf die Werte dieser Spalte erlaubt.java.util.Map<java.lang.String,java.lang.Integer>
getColumnNameToIndexMap()
Gibt die Zuordnung Spaltenüberschrift zu Spaltenindex zurück.CsvColumn<java.lang.Double>
getDoubleColumn(int columnIndex)
Findet eine passende Spalte die Double-Werte enthält und gibt einCsvColumn
-Objekt zurück, was den Zugriff auf die Werte dieser Spalte erlaubt.CsvColumn<java.lang.Double>
getDoubleColumn(java.lang.String header)
Findet eine passende Spalte die Double-Werte enthält und gibt einCsvColumn
-Objekt zurück, was den Zugriff auf die Werte dieser Spalte erlaubt.java.lang.String[]
getHeaderCells()
Gibt die Spaltenköpfe zurückint
getHeaderIndex(java.lang.String header)
Ermittelt den Spaltenindex zu einem SpaltennamenCsvColumn<java.lang.Integer>
getIntColumn(int columnIndex)
Findet eine passende Spalte die Integer-Werte enthält und gibt einCsvColumn
-Objekt zurück, was den Zugriff auf die Werte dieser Spalte erlaubt.CsvColumn<java.lang.Integer>
getIntColumn(java.lang.String header)
Findet eine passende Spalte die Integer-Werte enthält und gibt einCsvColumn
-Objekt zurück, was den Zugriff auf die Werte dieser Spalte erlaubt.CsvColumn<java.lang.Long>
getLongColumn(int columnIndex)
Findet eine passende Spalte die Long-Werte enthält und gibt einCsvColumn
-Objekt zurück, was den Zugriff auf die Werte dieser Spalte erlaubt.CsvColumn<java.lang.Long>
getLongColumn(java.lang.String header)
Findet eine passende Spalte die Long-Werte enthält und gibt einCsvColumn
-Objekt zurück, was den Zugriff auf die Werte dieser Spalte erlaubt.abstract java.util.Iterator<IterableCsvData.CsvRow>
iterator()
-
-
-
Method Detail
-
getColumnNameToIndexMap
public java.util.Map<java.lang.String,java.lang.Integer> getColumnNameToIndexMap()
Gibt die Zuordnung Spaltenüberschrift zu Spaltenindex zurück. Die Rückgabe ist eine Map, die zu jeder Spaltenüberschrift den Spaltenindex speichert.- Returns:
- die Zuordnung Spaltenüberschrift zu Spaltenindex
-
getHeaderCells
public java.lang.String[] getHeaderCells()
Gibt die Spaltenköpfe zurück- Returns:
- die Spaltenköpfe oder
null
wenn keine Spaltenköpfe definiert wurden
-
iterator
public abstract java.util.Iterator<IterableCsvData.CsvRow> iterator()
- Specified by:
iterator
in interfacejava.lang.Iterable<IterableCsvData.CsvRow>
-
getColumn
public CsvColumn<java.lang.String> getColumn(java.lang.String header) throws CsvParseException
Findet eine passende Spalte die String-Werte enthält und gibt einCsvColumn
-Objekt zurück, was den Zugriff auf die Werte dieser Spalte erlaubt. SieheIterableCsvData.CsvRow.getValue(de.kappich.sys.funclib.csv.CsvColumn)
.- Parameters:
header
- Spaltenüberschrift- Returns:
- Objekt, das die Spalte repräsentiert.
- Throws:
CsvParseException
- Wenn die Spalte nicht gefunden wurde
-
getColumn
public CsvColumn<java.lang.String> getColumn(int columnIndex) throws CsvParseException
Findet eine passende Spalte die String-Werte enthält und gibt einCsvColumn
-Objekt zurück, was den Zugriff auf die Werte dieser Spalte erlaubt. SieheIterableCsvData.CsvRow.getValue(de.kappich.sys.funclib.csv.CsvColumn)
.- Parameters:
columnIndex
- Spaltenindex- Returns:
- Objekt, das die Spalte repräsentiert.
- Throws:
CsvParseException
- Wenn die Spalte nicht gefunden wurde
-
getIntColumn
public CsvColumn<java.lang.Integer> getIntColumn(java.lang.String header) throws CsvParseException
Findet eine passende Spalte die Integer-Werte enthält und gibt einCsvColumn
-Objekt zurück, was den Zugriff auf die Werte dieser Spalte erlaubt. SieheIterableCsvData.CsvRow.getValue(de.kappich.sys.funclib.csv.CsvColumn)
.- Parameters:
header
- Spaltenüberschrift- Returns:
- Objekt, das die Spalte repräsentiert.
- Throws:
CsvParseException
- Wenn die Spalte nicht gefunden wurde
-
getIntColumn
public CsvColumn<java.lang.Integer> getIntColumn(int columnIndex) throws CsvParseException
Findet eine passende Spalte die Integer-Werte enthält und gibt einCsvColumn
-Objekt zurück, was den Zugriff auf die Werte dieser Spalte erlaubt. SieheIterableCsvData.CsvRow.getValue(de.kappich.sys.funclib.csv.CsvColumn)
.- Parameters:
columnIndex
- Spaltenindex- Returns:
- Objekt, das die Spalte repräsentiert.
- Throws:
CsvParseException
- Wenn die Spalte nicht gefunden wurde
-
getLongColumn
public CsvColumn<java.lang.Long> getLongColumn(java.lang.String header) throws CsvParseException
Findet eine passende Spalte die Long-Werte enthält und gibt einCsvColumn
-Objekt zurück, was den Zugriff auf die Werte dieser Spalte erlaubt. SieheIterableCsvData.CsvRow.getValue(de.kappich.sys.funclib.csv.CsvColumn)
.- Parameters:
header
- Spaltenüberschrift- Returns:
- Objekt, das die Spalte repräsentiert.
- Throws:
CsvParseException
- Wenn die Spalte nicht gefunden wurde
-
getLongColumn
public CsvColumn<java.lang.Long> getLongColumn(int columnIndex) throws CsvParseException
Findet eine passende Spalte die Long-Werte enthält und gibt einCsvColumn
-Objekt zurück, was den Zugriff auf die Werte dieser Spalte erlaubt. SieheIterableCsvData.CsvRow.getValue(de.kappich.sys.funclib.csv.CsvColumn)
.- Parameters:
columnIndex
- Spaltenindex- Returns:
- Objekt, das die Spalte repräsentiert.
- Throws:
CsvParseException
- Wenn die Spalte nicht gefunden wurde
-
getDoubleColumn
public CsvColumn<java.lang.Double> getDoubleColumn(java.lang.String header) throws CsvParseException
Findet eine passende Spalte die Double-Werte enthält und gibt einCsvColumn
-Objekt zurück, was den Zugriff auf die Werte dieser Spalte erlaubt. SieheIterableCsvData.CsvRow.getValue(de.kappich.sys.funclib.csv.CsvColumn)
.- Parameters:
header
- Spaltenüberschrift- Returns:
- Objekt, das die Spalte repräsentiert.
- Throws:
CsvParseException
- Wenn die Spalte nicht gefunden wurde
-
getDoubleColumn
public CsvColumn<java.lang.Double> getDoubleColumn(int columnIndex) throws CsvParseException
Findet eine passende Spalte die Double-Werte enthält und gibt einCsvColumn
-Objekt zurück, was den Zugriff auf die Werte dieser Spalte erlaubt. SieheIterableCsvData.CsvRow.getValue(de.kappich.sys.funclib.csv.CsvColumn)
.- Parameters:
columnIndex
- Spaltenindex- Returns:
- Objekt, das die Spalte repräsentiert.
- Throws:
CsvParseException
- Wenn die Spalte nicht gefunden wurde
-
getColumn
public <T> CsvColumn<T> getColumn(java.lang.String header, CsvParser<T> parser) throws CsvParseException
Findet eine passende Spalte die Werte in einem benutzerdefinierten Format enthält und gibt einCsvColumn
-Objekt zurück, was den Zugriff auf die Werte dieser Spalte erlaubt. SieheIterableCsvData.CsvRow.getValue(de.kappich.sys.funclib.csv.CsvColumn)
.- Parameters:
header
- Spaltenüberschriftparser
- Klasse, die den String-Wert dieser Spalte in ein benutzerdefiniertes Objekt konvertiert.- Returns:
- Objekt, das die Spalte repräsentiert.
- Throws:
CsvParseException
- Wenn die Spalte nicht gefunden wurde
-
getColumn
public <T> CsvColumn<T> getColumn(int columnIndex, CsvParser<T> parser) throws CsvParseException
Findet eine passende Spalte die Werte in einem benutzerdefinierten Format enthält und gibt einCsvColumn
-Objekt zurück, was den Zugriff auf die Werte dieser Spalte erlaubt. SieheIterableCsvData.CsvRow.getValue(de.kappich.sys.funclib.csv.CsvColumn)
.- Parameters:
columnIndex
- Spaltenindexparser
- Klasse, die den String-Wert dieser Spalte in ein benutzerdefiniertes Objekt konvertiert.- Returns:
- Objekt, das die Spalte repräsentiert.
- Throws:
CsvParseException
- Wenn die Spalte nicht gefunden wurde
-
getHeaderIndex
public int getHeaderIndex(java.lang.String header) throws CsvParseException
Ermittelt den Spaltenindex zu einem Spaltennamen- Parameters:
header
- Spaltenname- Returns:
- Index
- Throws:
CsvParseException
- Falls es keine Spalte mit dem angegebenen Namen gibt
-
-