in src/main/java/com/univocity/parsers/common/ColumnMap.java [48:100]
public int indexOf(String header) {
if (columnMap != null && columnMap.isEmpty()) {
return -1;
}
validateHeader(header);
if (columnMap == null) {
String[] headers = context.headers();
if (headers == null) {
columnMap = Collections.emptyMap();
normalizedColumnMap = Collections.emptyMap();
return -1;
}
columnMap = new HashMap<String, Integer>(headers.length);
extractedIndexes = context.extractedFieldIndexes();
if (extractedIndexes != null) {
if (context.columnsReordered()) {
for (int i = 0; i < extractedIndexes.length; i++) {
int originalIndex = extractedIndexes[i];
String h = headers[originalIndex];
columnMap.put(h, i);
}
} else {
for (int i = 0; i < extractedIndexes.length; i++) {
columnMap.put(headers[i], i);
}
}
} else {
for (int i = 0; i < headers.length; i++) {
columnMap.put(headers[i], i);
}
}
normalizedColumnMap = new HashMap<String, Integer>(headers.length);
for (Map.Entry<String, Integer> e : columnMap.entrySet()) {
if (e.getKey() != null) {
normalizedColumnMap.put(e.getKey().trim().toLowerCase(), e.getValue());
}
}
}
Integer index = columnMap.get(header);
if (index == null) {
index = normalizedColumnMap.get(header.trim().toLowerCase());
if (index == null) {
return -1;
}
}
return index.intValue();
}