public final boolean reverseConversions()

in src/main/java/com/univocity/parsers/common/DefaultConversionProcessor.java [170:210]


	public final boolean reverseConversions(boolean executeInReverseOrder, Object[] row, String[] headers, int[] indexesToWrite) {
		boolean keepRow = true;
		boolean[] convertedFlags = conversionsByType != null ? new boolean[row.length] : null;
		if (conversions != null) {
			if (!conversionsInitialized) {
				conversionsInitialized = true;
				conversions.prepareExecution(true, headers != null ? headers : new String[row.length]);
				this.fieldIndexes = indexesToWrite;
			}

			if(executeInReverseOrder){
				keepRow = validateAllValues(row);
			}


			final int last = fieldIndexes == null ? row.length : fieldIndexes.length;

			for (int i = 0; i < last; i++) {
				try {
					if (fieldIndexes == null || fieldIndexes[i] == -1) {
						row[i] = conversions.reverseConversions(executeInReverseOrder, i, row[i], convertedFlags);
					} else {
						int index = fieldIndexes[i];
						row[index] = conversions.reverseConversions(executeInReverseOrder, index, row[index], convertedFlags);
					}
				} catch (Throwable ex) {
					keepRow = handleConversionError(ex, row, i);
				}
			}
		}

		if (keepRow && convertedFlags != null) {
			keepRow = applyConversionsByType(true, row, convertedFlags);
		}

		if(executeInReverseOrder){
			return keepRow;
		}

		return keepRow && validateAllValues(row);
	}