package org.activityinfo.core.shared.importing.strategy;
import org.activityinfo.model.formTree.FormTree;
import java.util.List;
import java.util.Map;
/**
* Manages the import of data to a single field on a FormClass
*
*/
public interface FieldImportStrategy {
/**
* Returns true if this field importer can handle the given
* {@code fieldNode}
*/
boolean accept(FormTree.Node fieldNode);
/**
* Returns a list of potential "sites" to which imported columns
* can be bound.
*/
List<ImportTarget> getImportSites(FormTree.Node node);
FieldImporter createImporter(FormTree.Node node, Map<TargetSiteId, ColumnAccessor> mappings);
}