gov.sandia.cognition.evaluator
Class IdentityEvaluator<DataType>

java.lang.Object
  extended by gov.sandia.cognition.util.AbstractCloneableSerializable
      extended by gov.sandia.cognition.evaluator.IdentityEvaluator<DataType>
Type Parameters:
DataType - The data type of the input and output of the evaluator.
All Implemented Interfaces:
Evaluator<DataType,DataType>, ReversibleEvaluator<DataType,DataType,IdentityEvaluator<DataType>>, CloneableSerializable, Serializable, Cloneable

public class IdentityEvaluator<DataType>
extends AbstractCloneableSerializable
implements ReversibleEvaluator<DataType,DataType,IdentityEvaluator<DataType>>

An identity function that returns its input as its output. It is a basic function of f(x) = x, which is defined for any generic type.

Since:
3.3.3
Author:
Justin Basilico
See Also:
Serialized Form

Constructor Summary
IdentityEvaluator()
          Creates a new IdentityEvaluator, which has no parameters.
 
Method Summary
 IdentityEvaluator<DataType> clone()
          This makes public the clone method on the Object class and removes the exception that it throws.
static
<DataType> IdentityEvaluator<DataType>
create()
          Convenience method for creating an identity evaluator.
 DataType evaluate(DataType input)
          Returns the given input.
 IdentityEvaluator<DataType> reverse()
          Gets the data converter that performs the reverse conversion.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IdentityEvaluator

public IdentityEvaluator()
Creates a new IdentityEvaluator, which has no parameters.

Method Detail

clone

public IdentityEvaluator<DataType> clone()
Description copied from class: AbstractCloneableSerializable
This makes public the clone method on the Object class and removes the exception that it throws. Its default behavior is to automatically create a clone of the exact type of object that the clone is called on and to copy all primitives but to keep all references, which means it is a shallow copy. Extensions of this class may want to override this method (but call super.clone() to implement a "smart copy". That is, to target the most common use case for creating a copy of the object. Because of the default behavior being a shallow copy, extending classes only need to handle fields that need to have a deeper copy (or those that need to be reset). Some of the methods in ObjectUtil may be helpful in implementing a custom clone method. Note: The contract of this method is that you must use super.clone() as the basis for your implementation.

Specified by:
clone in interface CloneableSerializable
Overrides:
clone in class AbstractCloneableSerializable
Returns:
A clone of this object.

evaluate

public DataType evaluate(DataType input)
Returns the given input.

Specified by:
evaluate in interface Evaluator<DataType,DataType>
Parameters:
input - The input value.
Returns:
The input value.

reverse

public IdentityEvaluator<DataType> reverse()
Description copied from interface: ReversibleEvaluator
Gets the data converter that performs the reverse conversion.

Specified by:
reverse in interface ReversibleEvaluator<DataType,DataType,IdentityEvaluator<DataType>>
Returns:
The reverse converter.

create

public static <DataType> IdentityEvaluator<DataType> create()
Convenience method for creating an identity evaluator.

Type Parameters:
DataType - The type of the input and output of the evaluator.
Returns:
A new evaluator.