Interface CoercibleType allows {@link cascading.tuple.Fields} instances to be extended with customtype information.
It is the role of implementations of this interface to maintain a canonical representation of a given value and to allow for coercions between some type representation to the canonical type and back.
For example, if a field in a text delimited file is a date, ie. {@code 28/Dec/2012:16:17:12:931 -0800}it may be beneficial for the internal representation to be a {@link Long} value for performance reasons.
Note CoercibleType used in conjunction with the TextDelimited parsers is not a replacement for using a pipe assembly to cleanse data. Pushing data cleansing down to a {@link cascading.tap.Tap} and{@link cascading.scheme.Scheme} may not provide the flexibility and robustness expected.
CoercibleTypes are a convenience when the input data is of high quality or was previously written out using a CoercibleType instance.
The CoercibleTypes further allow the Cascading planner to perform type checks during joins. If no {@link java.util.Comparator} is in use, and lhs and rhs fields are not the same type, the planner will throw anexception.