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
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()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
_headerCells
protected final java.lang.String[] _headerCellsSpaltenköpfe -
_columnNameToIndexMap
protected final java.util.HashMap<java.lang.String,java.lang.Integer> _columnNameToIndexMapMap Spaltenkopf → Index
-
-
Constructor Details
-
IterableCsvData
public IterableCsvData(java.lang.String[] headerCells, java.util.HashMap<java.lang.String,java.lang.Integer> columnNameToIndexMap)
-
-
Method Details
-
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
- Specified by:
iterator
in interfacejava.lang.Iterable<IterableCsvData.CsvRow>
-
getColumn
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
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
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
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
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
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 CsvParseExceptionFindet 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
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 CsvParseExceptionFindet 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
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
Ermittelt den Spaltenindex zu einem Spaltennamen- Parameters:
header
- Spaltenname- Returns:
- Index
- Throws:
CsvParseException
- Falls es keine Spalte mit dem angegebenen Namen gibt
-