gov.sandia.cognition.data.convert.ReversibleDataConverter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gov-sandia-cognition-common-data Show documentation
Show all versions of gov-sandia-cognition-common-data Show documentation
General utility classes for processing data in the Cognitive Foundry.
/*
* File: ReversibleDataConverter.java
* Authors: Justin Basilico
* Company: Sandia National Laboratories
* Project: Cognitive Foundry
*
* Copyright June 02, 2008, 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.data.convert;
import gov.sandia.cognition.evaluator.ReversibleEvaluator;
/**
* Represents a {@code DataConverter} whose conversion can be reversed. The
* reverse is just another {@code DataConverter}. It is required that the
* converter's range must be part of the domain of the reverse converter.
*
* @param
* The input type to convert from.
* @param
* The output type to convert to.
* @author Justin Basilico
* @since 3.0
*/
public interface ReversibleDataConverter
extends DataConverter,
ReversibleEvaluator>
{
/**
* Gets the data converter that performs the reverse conversion.
*
* @return The reverse converter.
*/
public DataConverter super OutputType, ? extends InputType> reverse();
}