/**
 * 
 */
package at.gv.egiz.pdfas.api.analyze;

import java.util.List;

import at.gv.egiz.pdfas.api.commons.SignatureInformation;
import at.gv.egiz.pdfas.api.exceptions.PdfAsException;

/**
 * The result of an analyze operation, which is a list of verifyable signatures.
 * 
 * @author wprinz
 * 
 */
public interface AnalyzeResult
{
  /**
   * Returns the list of found signatures.
   * 
   * @return Returns a list of {@link SignatureInformation} objects representing all
   *         found signatures.
   * @throws PdfAsException
   *           Thrown on error.
   * 
   * @see SignatureInformation
   */
  public List getSignatures() throws PdfAsException;
  
  public List getNoSignatures();
  
  /**
   * Tells if the document has been corrected before verification. The correction maybe done
   * after a first failing parse to repair a document (if enabled in the configuration 
   * <code>correct_document_on_verify_if_necessary</code>). The correction can only work for textual 
   * signatures. Binary signatures are lost anyhow.
   * @return
   */
  public boolean hasBeenCorrected();

  
}