package mil.nga.giat.geowave.analytic; import java.io.IOException; import org.apache.hadoop.mapreduce.JobContext; import org.slf4j.Logger; import com.vividsolutions.jts.geom.Coordinate; /** * Create an analytic item wrapper for the provided item. * * * @param <T> */ public interface AnalyticItemWrapperFactory<T> { /** * Wrap the item. * * @param item * @return */ public AnalyticItemWrapper<T> create( T item ); /** * Creates a new item based on the old item with new coordinates and * dimension values * * @param feature * @param coordinate * @param extraNames * @param extraValues * @return */ public AnalyticItemWrapper<T> createNextItem( final T feature, final String groupID, final Coordinate coordinate, final String[] extraNames, final double[] extraValues ); public void initialize( final JobContext context, Class<?> scope, Logger logger ) throws IOException; }