package org.activityinfo.core.shared.importing.strategy; import org.activityinfo.core.client.ResourceLocator; import org.activityinfo.model.form.FormInstance; import org.activityinfo.core.shared.importing.source.SourceRow; import org.activityinfo.core.shared.importing.validation.ValidationResult; import org.activityinfo.promise.Promise; import java.util.List; /** * FieldImporters operate on */ public interface FieldImporter { Promise<Void> prepare(ResourceLocator locator, List<? extends SourceRow> batch); void validateInstance(SourceRow row, List<ValidationResult> results); boolean updateInstance(SourceRow row, FormInstance instance); List<FieldImporterColumn> getColumns(); }