/*
 * Created on 15.08.2004
 */
package commons.collections.trie;


/**
 * Gibt Informationen �ber einen ITrie zur�ck.
 * @author kst
 */
public class ITrieInfo
{

   ITrie     itrie     = null;

   DictionaryReader lexReader = null;


   public ITrieInfo (ITrie itrie, DictionaryReader lexReader)
   {
      this.itrie = itrie;
      this.lexReader = lexReader;
   }


   public String getInfo ()
   {
      StringBuffer msg = new StringBuffer();
      msg.append(lexReader.getFilename());
      msg.append(" ");
      msg.append(lexReader.totalWords());
      msg.append("w ");
      msg.append(lexReader.totalTime());
      msg.append("ms\n");
      msg.append(itrie.getPackageName());
      msg.append(" q:");
      msg.append(itrie.getTotalStates());
      msg.append(" xd:");
      msg.append(itrie.getMaxDepth());
      msg.append(" xw:");
      msg.append(itrie.getMaxWidth());
      msg.append(" ");
      msg.append(formatTotalCharakters(itrie.getTotalCharacters()));

      return msg.toString();
   }


   public String formatTotalCharakters (long tc)
   {
      String unit = "c";
      if (tc > 1000000)
      {
         tc /= 1000;
         unit = "Tc";
      }
      return tc + unit;
   }
}