From 11cea3c04723dbb1f9df0e2c50602913654657f6 Mon Sep 17 00:00:00 2001
From: pdanner <pdanner@7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c>
Date: Wed, 15 Dec 2010 16:19:40 +0000
Subject: javadoc

git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@710 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c
---
 src/main/java/at/gv/egiz/pdfas/api/PdfAs.java      |  6 ++--
 .../pdfas/api/commons/DynamicSignatureProfile.java | 36 +++++++++++++++++++++-
 .../at/gv/egiz/pdfas/api/sign/SignParameters.java  | 18 ++++++++++-
 3 files changed, 56 insertions(+), 4 deletions(-)

diff --git a/src/main/java/at/gv/egiz/pdfas/api/PdfAs.java b/src/main/java/at/gv/egiz/pdfas/api/PdfAs.java
index 26bbace..286377b 100644
--- a/src/main/java/at/gv/egiz/pdfas/api/PdfAs.java
+++ b/src/main/java/at/gv/egiz/pdfas/api/PdfAs.java
@@ -7,7 +7,6 @@ import java.util.List;
 
 import at.gv.egiz.pdfas.api.analyze.AnalyzeParameters;
 import at.gv.egiz.pdfas.api.analyze.AnalyzeResult;
-import at.gv.egiz.pdfas.api.analyze.NonTextObjectInfo;
 import at.gv.egiz.pdfas.api.commons.DynamicSignatureLifetimeEnum;
 import at.gv.egiz.pdfas.api.commons.DynamicSignatureProfile;
 import at.gv.egiz.pdfas.api.commons.SignatureProfile;
@@ -15,7 +14,6 @@ import at.gv.egiz.pdfas.api.exceptions.PdfAsException;
 import at.gv.egiz.pdfas.api.sign.SignParameters;
 import at.gv.egiz.pdfas.api.sign.SignResult;
 import at.gv.egiz.pdfas.api.sign.SignatureDetailInformation;
-import at.gv.egiz.pdfas.api.sign.pos.SignaturePosition;
 import at.gv.egiz.pdfas.api.verify.VerifyAfterAnalysisParameters;
 import at.gv.egiz.pdfas.api.verify.VerifyAfterReconstructXMLDsigParameters;
 import at.gv.egiz.pdfas.api.verify.VerifyParameters;
@@ -24,6 +22,7 @@ import at.gv.egiz.pdfas.api.verify.VerifyResults;
 import at.gv.egiz.pdfas.api.xmldsig.ReconstructXMLDsigAfterAnalysisParameters;
 import at.gv.egiz.pdfas.api.xmldsig.ReconstructXMLDsigParameters;
 import at.gv.egiz.pdfas.api.xmldsig.ReconstructXMLDsigResult;
+import at.gv.egiz.pdfas.framework.signator.SignatorInformation;
 
 /**
  * The PDF-AS API main interface.
@@ -196,6 +195,7 @@ public interface PdfAs
    * Create a signature profile dynamically. You have to provide a unique name and have do apply() it for usage. See {@link SignatureProfile}.
    * It is recommended to use {@link #createDynamicSignatureProfile(String, DynamicSignatureLifetimeEnum)} that generates 
    * a unique name on its own.
+   * @see DynamicSignatureProfile
    * @param parentProfile a parent profile id to inherit all properties
    * @param myUniqueName a unique name for the profile
    * @param mode lifetime mode
@@ -210,6 +210,7 @@ public interface PdfAs
    * existing profile saving you a lot of work.
    * @param mode lifetime mode
    * @return the created signature profile to work with.
+   * @see DynamicSignatureProfile
    */
   public DynamicSignatureProfile createEmptyDynamicSignatureProfile(DynamicSignatureLifetimeEnum mode);
   
@@ -229,6 +230,7 @@ public interface PdfAs
    * and it has {@link DynamicSignatureLifetimeEnum#MANUAL}
    * @param profileName
    * @return the signature profile or <code>null</code> if not found.
+   * @see DynamicSignatureProfile
    */
   public DynamicSignatureProfile loadDynamicSignatureProfile(String profileName);
   
diff --git a/src/main/java/at/gv/egiz/pdfas/api/commons/DynamicSignatureProfile.java b/src/main/java/at/gv/egiz/pdfas/api/commons/DynamicSignatureProfile.java
index fbcfaf9..b3875db 100644
--- a/src/main/java/at/gv/egiz/pdfas/api/commons/DynamicSignatureProfile.java
+++ b/src/main/java/at/gv/egiz/pdfas/api/commons/DynamicSignatureProfile.java
@@ -9,7 +9,41 @@ import at.gv.egiz.pdfas.api.sign.SignParameters;
  * or {@link #setFieldValue(String, String)}.<br>
  * You have to call {@link #apply()} to use the profile. The identifying name (e.g. for {@link SignParameters#setSignatureProfileId(String)}
  * can be obtained via {@link #getName()}.<br>
- * Depending on the {@link DynamicSignatureLifetimeEnum} the profile can be alive and usable till you {@link #dispose()} it manually. 
+ * Depending on the {@link DynamicSignatureLifetimeEnum} the profile can be alive and usable till you {@link #dispose()} it manually.
+ * <p>
+ * Sample usage:<br>
+ *  <pre>
+      SignParameters sp = new SignParameters();
+      . . .           
+      sp.setSignatureType(Constants.SIGNATURE_TYPE_TEXTUAL);
+      sp.setSignatureDevice(Constants.SIGNATURE_DEVICE_MOA);
+
+      // create a new dynamic profile based on SIGNATURBLOCK_DE (every property is copied) with manual lifetime
+      DynamicSignatureProfile dsp = pdfAs.createDynamicSignatureProfile("myUniqueName", "SIGNATURBLOCK_DE", 
+            DynamicSignatureLifetimeEnum.MANUAL);  
+            
+      // set something
+      dsp.setPropertyRaw("key.SIG_META", "Statement");
+      dsp.setPropertyRaw("value.SIG_META", "respect to the man in the icecream van ${subject.EMAIL}");
+      dsp.setPropertyRaw("value.SIG_LABEL", "./images/signatur-logo_en.png");
+      dsp.setPropertyRaw("table.main.Style.halign", "right");
+      
+      // mandatory: apply the profile, you have to apply again after changes (overriding your previous setting)
+      dsp.apply();                 
+      sp.setSignatureProfileId(dsp.getName());            
+      
+      // execute PDF-AS
+      pdfAs.sign(sp);              
+      
+      . . .
+                       
+     // your profile is saved and you can obtain it again anytime later:
+      dsp = pdfAs.loadDynamicSignatureProfile("myUniqueName");
+      // use it for another sign.
+      // dont forget to dispose() sometimes because it was manual lifetime
+      System.out.println(dsp.getName());
+ *  </pre>
+ *  </p>
  * 
  * @author exthex
  *
diff --git a/src/main/java/at/gv/egiz/pdfas/api/sign/SignParameters.java b/src/main/java/at/gv/egiz/pdfas/api/sign/SignParameters.java
index 9a01c72..8dc928b 100644
--- a/src/main/java/at/gv/egiz/pdfas/api/sign/SignParameters.java
+++ b/src/main/java/at/gv/egiz/pdfas/api/sign/SignParameters.java
@@ -286,7 +286,23 @@ public class SignParameters
   /**
    * Override user defined values from the used signature profile like "value.SIG_META". 
    * You cannot override pre defined values like SIG_VALUE, SIG_DATE {@link SignatureTypes#REQUIRED_SIG_KEYS}. 
-   * The override values are bound to the {@link SignParameters} instance. 
+   * The override values are bound to the {@link SignParameters} instance.
+   * <p>
+   * Sample usage:
+   * <pre>
+      SignParameters sp = new SignParameters();
+      . . .
+      
+      sp.setSignatureProfileId("SIGNATURBLOCK_DE");  
+      
+      // expressions do not work on binary signature fields without phlength setting!!
+      sp.setProfileOverrideValue("SIG_META", "It's nice to be important, but it is more important to be nice ${subject.L}");;
+      sp.setProfileOverrideValue("SIG_LABEL", "./images/signatur-logo_en.png");                  
+      
+      // execute sign using the overrides
+      pdfAs.sign(sp);
+  </pre>
+   * </p>
    * @param key the name of the setting to override e.g. "SIG_META"
    * @param value The new value
    */
-- 
cgit v1.2.3