gov.sandia.cognition.util.Summarizer Maven / Gradle / Ivy
/*
* File: Summarizer.java
* Authors: Justin Basilico
* Company: Sandia National Laboratories
* Project: Cognitive Foundry
*
* Copyright September 21, 2007, 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.util;
import java.util.Collection;
/**
* The {@code Summarizer} interface defines the functionality of an object that
* can take a collection of some data and return a summary of that data. Note
* that this interface does not require that an implementing class also
* implements {@code CloneableSerializable}, but most implementing classes
* should also implement that interface.
*
* @param Data from which to build the summary
* @param Output class that summarizes the data
* @author Justin Basilico
* @since 2.0
*/
public interface Summarizer
{
/**
* Creates a summary of the given collection of data.
*
* @param data The collection of data to summarize.
* @return The summary of the data.
*/
SummaryType summarize(
Collection extends DataType> data );
}