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

import java.util.Properties;

/**
 * Definition of a signature profile.
 * 
 * @author wprinz
 */
public interface SignatureProfile {

   // TODO: implement full profile support

   /**
    * Returns the profile id.
    * 
    * @return Returns the profile id.
    */
   public String getProfileId();

   /**
    * Returns the MOA KeyIdentifier.
    * 
    * @return Returns the MOA KeyIdentifier.
    */
   public String getMOAKeyIdentifier();

   /**
    * Returns the entries relevant to the search algorithm for signature blocks.<br/>
    * e.g. properties starting with <code>sig_obj.PROFILE.key.</code> and
    * properties of the form <code>sig_obj.PROFILE.table.TABLENAME.NUMBER</code>
    * where <code>PROFILE</code> is the name of the current profile,
    * <code>TABLENAME</code> is the name of a table and <code>NUMBER</code>
    * is the number of the specific row within the table <code>TABLENAME</code>.
    * 
    * @return The entries relevant to the signature block search algorithm as
    *         Java properties.
    */
   public Properties getSignatureBlockEntries();

   /**
    * Returns the profile description.
    * 
    * @return The profile description.
    */
   public String getProfileDescription();

}