/* * File: BatchClusterer.java * Authors: Justin Basilico and Kevin R. Dixon * Company: Sandia National Laboratories * Project: Cognitive Foundry * * Copyright February 21, 2006, Sandia Corporation. Under the terms of Contract * DE-AC04-94AL85000, there is a non-exclusive license for use of this work by * or on behalf of the U.S. Government. Export of this program may require a * license from the United States Government. See CopyrightHistory.txt for * complete details. * */ package gov.sandia.cognition.learning.algorithm.clustering; import gov.sandia.cognition.annotation.CodeReview; import gov.sandia.cognition.learning.algorithm.BatchLearner; import gov.sandia.cognition.learning.algorithm.clustering.cluster.Cluster; import java.util.Collection; /** * The {@code BatchClusterer} interface defines the functionality of a batch * clustering algorithm. It takes a collection of elements and returns a * collection of clusters of those elements. * * @param <DataType> The type of data the algorithm operates on. * @param <ClusterType> The type of clusters generated by the algorithm. * @author Justin Basilico * @author Kevin R. Dixon * @since 1.0 */ @CodeReview( reviewer="Kevin R. Dixon", date="2008-07-22", changesNeeded=false, comments={ "Removed extends Serializable, as BatchLearner already extends it.", "Otherwise, interface looks fine." } ) public interface BatchClusterer<DataType, ClusterType extends Cluster<DataType>> extends BatchLearner<Collection<? extends DataType>, Collection<ClusterType>> { }