class XmlFormatTrailValidator {

  public boolean run() throws IOException
  {
    boolean success = false;
    LOG.info("starting validation ...");
    if (_continuous)
    {
      Thread runThread = new Thread(_parser, "XmlFormatTrailParser");
      runThread.start();
      success = true;
    }
    else
    {
      _parser.run();
      Throwable error = _parser.getLastError();
      LOG.info("validation complete: " + (null == error ? "SUCCESS" : error.toString()) );
      if (null != error)
      {
        _parser.printErrorContext(System.err);
      }
      else
      {
        success = true;
      }
      LOG.info("PARSE ERRORS: " + _parser.getErrorCount());
    }

    return success;
  }

  public  XmlFormatTrailValidator(Cli cli);
  public  XmlFormatTrailValidator(String xmlDir, String xmlPrefix, boolean continuous,
                                 boolean dtdValidationEnabled, String errorLogFName,
                                 boolean enableRegex);
  public  XmlFormatTrailValidator(String xmlDir, String xmlPrefix, boolean continuous,
      boolean dtdValidationEnabled, String errorLogFName);

}