Class AbstractCaverphone

  • All Implemented Interfaces:
    Encoder, StringEncoder
    Direct Known Subclasses:
    Caverphone1, Caverphone2

    public abstract class AbstractCaverphone
    extends java.lang.Object
    implements StringEncoder
    Encodes a string into a Caverphone value. This is an algorithm created by the Caversham Project at the University of Otago. It implements the Caverphone 2.0 algorithm:

    This class is immutable and thread-safe.

    Since:
    1.5
    See Also:
    Wikipedia - Caverphone
    • Constructor Summary

      Constructors 
      Constructor Description
      AbstractCaverphone()
      Creates an instance of the Caverphone encoder
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object encode​(java.lang.Object source)
      Encodes an Object using the caverphone algorithm.
      boolean isEncodeEqual​(java.lang.String str1, java.lang.String str2)
      Tests if the encodings of two strings are equal.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • AbstractCaverphone

        public AbstractCaverphone()
        Creates an instance of the Caverphone encoder
    • Method Detail

      • encode

        public java.lang.Object encode​(java.lang.Object source)
                                throws EncoderException
        Encodes an Object using the caverphone algorithm. This method is provided in order to satisfy the requirements of the Encoder interface, and will throw an EncoderException if the supplied object is not of type java.lang.String.
        Specified by:
        encode in interface Encoder
        Parameters:
        source - Object to encode
        Returns:
        An object (or type java.lang.String) containing the caverphone code which corresponds to the String supplied.
        Throws:
        EncoderException - if the parameter supplied is not of type java.lang.String
      • isEncodeEqual

        public boolean isEncodeEqual​(java.lang.String str1,
                                     java.lang.String str2)
                              throws EncoderException
        Tests if the encodings of two strings are equal. This method might be promoted to a new AbstractStringEncoder superclass.
        Parameters:
        str1 - First of two strings to compare
        str2 - Second of two strings to compare
        Returns:
        true if the encodings of these strings are identical, false otherwise.
        Throws:
        EncoderException - thrown if there is an error condition during the encoding process.