All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.simpleflatmapper.csv.impl.DelegateCellSetter Maven / Gradle / Ivy

package org.simpleflatmapper.csv.impl;

import org.simpleflatmapper.csv.ParsingContext;
import org.simpleflatmapper.csv.mapper.BreakDetector;
import org.simpleflatmapper.csv.mapper.CellSetter;
import org.simpleflatmapper.csv.mapper.CsvMapperCellConsumer;
import org.simpleflatmapper.reflect.Setter;

import static org.simpleflatmapper.util.Asserts.requireNonNull;

public class DelegateCellSetter implements CellSetter {

	private final DelegateMarkerSetter marker;
	private final CsvMapperCellConsumer

handler; private final Setter setter; private final int cellIndex; @SuppressWarnings("unchecked") public DelegateCellSetter(DelegateMarkerSetter marker, int cellIndex, BreakDetector parentBreakDetector) { this.marker = requireNonNull("marker", marker); this.handler = marker.getMapper().newCellConsumer(null, parentBreakDetector); this.setter = marker.getSetter(); this.cellIndex = cellIndex; } public DelegateCellSetter(DelegateMarkerSetter marker, CsvMapperCellConsumer

handler, int cellIndex) { this.marker = requireNonNull("marker", marker); this.handler = requireNonNull("handler",handler); this.cellIndex = cellIndex; this.setter = null; } @Override public void set(T target, char[] chars, int offset, int length, ParsingContext context) throws Exception { this.handler.newCell(chars, offset, length, cellIndex); final BreakDetector breakDetector = handler.getBreakDetector(); if (setter != null && (breakDetector == null || (breakDetector.broken()&& breakDetector.isNotNull()))) { setter.set(target, this.handler.getCurrentInstance()); } } public CsvMapperCellConsumer getCellConsumer() { return handler; } @Override public String toString() { return "DelegateCellSetter{" + "marker=" + marker + ", handler=" + handler + ", cellIndex=" + cellIndex + '}'; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy