// FILE. . . . . d:/hak/hlt/src/hlt/fot/fuz/SimilarFunctorSignature.java
// EDIT BY . . . Hassan Ait-Kaci
// ON MACHINE. . Hak-Laptop
// STARTED ON. . Sun Jul 15 07:47:27 2018

/**
 * @version     Last modified on Mon Dec 16 09:59:57 2019 by hak
 * @author      <a href="mailto:hak@acm.org">Hassan A&iuml;t-Kaci</a>
 * @copyright   &copy; <a href="http://www.hassan-ait-kaci.net/">by the author</a>
 */

package hlt.fot.fuz;

import hlt.fot.Signature;

import hlt.language.util.ArrayList;

import java.util.HashMap;
import java.util.Iterator;

/**
 * This is a class containing all the information concerning similar
 * pairs of functors of a term-constructor signature as a set of <a
 * href="../Functor.html"><tt>Functor</tt></a> objects.
 *
 * @see         ../Signature
 * @see         ../Functor
 * @see         SignatureSimilarity
 */

public class SimilarFunctorSignature extends Signature
{
  /* ************************************************************************ */

  /**
   * This is the <tt>SignatureSimilarity</tt> defined on this signature
   * if any has been defined yet; <tt>null</tt> otherwise.
   */
  private SignatureSimilarity similarity;

  /**
   * Returns the <tt>SignatureSimilarity</tt> if one is defined on this
   * signature.
   */
  public SignatureSimilarity similarity ()
  {
    return similarity;
  }

  /**
   * Returns <tt>true</tt> iff a <tt>SignatureSimilarity</tt> is defined
   * on this signature.
   */
  public boolean hasSimilarity ()
  {
    return similarity != null;
  }

  /**
   * Define this signature's similarity on the functors to the specified
   * <tt>SignatureSimilarity</tt> (whose referential signature is then
   * this signature).
   */
  public void setSimilarity (SignatureSimilarity similarity)
  {
    this.similarity = similarity;
  }

}
