From 73c30d3a15a33d02f7ea675e267b39310913ba4d Mon Sep 17 00:00:00 2001 From: pdanner Date: Mon, 6 Dec 2010 17:02:56 +0000 Subject: Necessary changes for separation of pdf-as-web and rest of the project git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@680 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c --- .../pdfas/api/sign/SignatureDetailInformation.java | 127 +++++++++++++++++++++ .../pdfas/api/sign/pos/SignaturePositioning.java | 9 +- .../api/sign/pos/axis/AbsoluteAxisAlgorithm.java | 9 +- .../pdfas/api/sign/pos/axis/AutoAxisAlgorithm.java | 9 +- .../pdfas/api/sign/pos/axis/AxisAlgorithm.java | 9 +- .../api/sign/pos/page/AbsolutePageAlgorithm.java | 9 +- .../pdfas/api/sign/pos/page/AutoPageAlgorithm.java | 9 +- .../pdfas/api/sign/pos/page/NewPageAlgorithm.java | 9 +- .../pdfas/api/sign/pos/page/PageAlgorithm.java | 9 +- 9 files changed, 191 insertions(+), 8 deletions(-) create mode 100644 src/main/java/at/gv/egiz/pdfas/api/sign/SignatureDetailInformation.java (limited to 'src/main/java/at/gv/egiz/pdfas/api/sign') diff --git a/src/main/java/at/gv/egiz/pdfas/api/sign/SignatureDetailInformation.java b/src/main/java/at/gv/egiz/pdfas/api/sign/SignatureDetailInformation.java new file mode 100644 index 0000000..0865be1 --- /dev/null +++ b/src/main/java/at/gv/egiz/pdfas/api/sign/SignatureDetailInformation.java @@ -0,0 +1,127 @@ +/** + * + */ +package at.gv.egiz.pdfas.api.sign; + +import java.security.cert.X509Certificate; +import java.util.Date; +import java.util.List; +import java.util.Map; + +import at.gv.egiz.pdfas.api.analyze.NonTextObjectInfo; +import at.gv.egiz.pdfas.api.io.DataSource; +import at.gv.egiz.pdfas.api.sign.pos.SignaturePosition; + +/** + * A container for all relevant signature related data. + * + * @author exthex + */ +public interface SignatureDetailInformation +{ + public DataSource getSignatureData(); + + /** + * Returns the position where the signature table was actually placed. + * + * @return Returns the position where the signature table was actually placed. + */ + public SignaturePosition getSignaturePosition(); + + /** + * Returns a list<{@link NonTextObjectInfo} of non textual objects in the pdf document. + * Only available for textual signatures. Show this to the user who signed the textual content only! + * @return List<{@link NonTextObjectInfo} or null of not available (binary signature) + */ + public List getNonTextualObjects(); + + /** + * Returns the date of signature extracted from the signature. + * @return + */ + public Date getSignDate(); + + /** + * Get the name of the issuer. + * Short for {@link SignatureDetailInformation#getX509Certificate()#getIssuer()#getName()} + * + * @return + */ + public String getIssuer(); + + /** + * Short for {@link SignatureDetailInformation#getX509Certificate()#getIssuerDNMap()} + * + * @return + */ + public Map getIssuerDNMap(); + + /** + * Short for {@link SignatureDetailInformation#getX509Certificate()#getSubjectName()#toString()} + * + * @return + */ + public String getSubjectName(); + + /** + * Short for {@link SignatureDetailInformation#getX509Certificate()#getSerialNumber()#toString()} + * + * @return + */ + public String getSerialNumber(); + + /** + * Get the algorithm the signature was created with. + * @return + */ + public String getSigAlgorithm(); + + /** + * + * @return the signature id. + */ + public String getSigID(); + + /** + * + * @return the signature method. + */ + public String getSigKZ(); + + /** + * + * @return the signature value. + */ + public String getSignatureValue(); + + /** + * + * @return the signature time stamp. + */ + public String getSigTimeStamp(); + + /** + * Short for {@link SignatureDetailInformation#getX509Certificate()#getSubjectDNMap()} + * + * @return + */ + public Map getSubjectDNMap(); + + /** + * + * @return the certificate used for signature. + */ + public X509Certificate getX509Certificate(); + + /** + * + * @return true if the signature is textual, false otherwise. + */ + public boolean isTextual(); + + /** + * + * @return true if this signature is binary, false otherwise. + */ + public boolean isBinary(); +} diff --git a/src/main/java/at/gv/egiz/pdfas/api/sign/pos/SignaturePositioning.java b/src/main/java/at/gv/egiz/pdfas/api/sign/pos/SignaturePositioning.java index 42b02eb..1368fcd 100644 --- a/src/main/java/at/gv/egiz/pdfas/api/sign/pos/SignaturePositioning.java +++ b/src/main/java/at/gv/egiz/pdfas/api/sign/pos/SignaturePositioning.java @@ -3,6 +3,7 @@ */ package at.gv.egiz.pdfas.api.sign.pos; +import java.io.Serializable; import java.util.StringTokenizer; import at.gv.egiz.pdfas.api.sign.pos.axis.AbsoluteAxisAlgorithm; @@ -25,8 +26,14 @@ import at.knowcenter.wag.egov.egiz.exceptions.PDFDocumentException; * * @author wprinz */ -public class SignaturePositioning +public class SignaturePositioning implements Serializable { + + /** + * + */ + private static final long serialVersionUID = 1L; + /** * The x axis algorithm. * diff --git a/src/main/java/at/gv/egiz/pdfas/api/sign/pos/axis/AbsoluteAxisAlgorithm.java b/src/main/java/at/gv/egiz/pdfas/api/sign/pos/axis/AbsoluteAxisAlgorithm.java index 234484c..3e8bc04 100644 --- a/src/main/java/at/gv/egiz/pdfas/api/sign/pos/axis/AbsoluteAxisAlgorithm.java +++ b/src/main/java/at/gv/egiz/pdfas/api/sign/pos/axis/AbsoluteAxisAlgorithm.java @@ -3,13 +3,20 @@ */ package at.gv.egiz.pdfas.api.sign.pos.axis; +import java.io.Serializable; + /** * An absolute positioned element. * @author wprinz */ -public class AbsoluteAxisAlgorithm extends AxisAlgorithm +public class AbsoluteAxisAlgorithm extends AxisAlgorithm implements Serializable { + /** + * + */ + private static final long serialVersionUID = 1L; + /** * The absolute positioning value on the axis. */ diff --git a/src/main/java/at/gv/egiz/pdfas/api/sign/pos/axis/AutoAxisAlgorithm.java b/src/main/java/at/gv/egiz/pdfas/api/sign/pos/axis/AutoAxisAlgorithm.java index 4c5459f..0d1f80d 100644 --- a/src/main/java/at/gv/egiz/pdfas/api/sign/pos/axis/AutoAxisAlgorithm.java +++ b/src/main/java/at/gv/egiz/pdfas/api/sign/pos/axis/AutoAxisAlgorithm.java @@ -3,12 +3,19 @@ */ package at.gv.egiz.pdfas.api.sign.pos.axis; +import java.io.Serializable; + /** * Auto positioning for this element. * * @author wprinz */ -public class AutoAxisAlgorithm extends AxisAlgorithm +public class AutoAxisAlgorithm extends AxisAlgorithm implements Serializable { + + /** + * + */ + private static final long serialVersionUID = 1L; // empty } diff --git a/src/main/java/at/gv/egiz/pdfas/api/sign/pos/axis/AxisAlgorithm.java b/src/main/java/at/gv/egiz/pdfas/api/sign/pos/axis/AxisAlgorithm.java index a4baac6..40f614d 100644 --- a/src/main/java/at/gv/egiz/pdfas/api/sign/pos/axis/AxisAlgorithm.java +++ b/src/main/java/at/gv/egiz/pdfas/api/sign/pos/axis/AxisAlgorithm.java @@ -3,12 +3,19 @@ */ package at.gv.egiz.pdfas.api.sign.pos.axis; +import java.io.Serializable; + /** * Determines how a certain position is chosen on the axis (x, y, width). * * @author wprinz */ -public abstract class AxisAlgorithm +public abstract class AxisAlgorithm implements Serializable { + + /** + * + */ + private static final long serialVersionUID = 1L; // base class } diff --git a/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/AbsolutePageAlgorithm.java b/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/AbsolutePageAlgorithm.java index 206aa19..5940031 100644 --- a/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/AbsolutePageAlgorithm.java +++ b/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/AbsolutePageAlgorithm.java @@ -3,13 +3,20 @@ */ package at.gv.egiz.pdfas.api.sign.pos.page; +import java.io.Serializable; + /** * The page is selected absolutely by giving the page number directly. * * @author wprinz */ -public class AbsolutePageAlgorithm extends PageAlgorithm +public class AbsolutePageAlgorithm extends PageAlgorithm implements Serializable { + /** + * + */ + private static final long serialVersionUID = 1L; + /** * The page. */ diff --git a/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/AutoPageAlgorithm.java b/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/AutoPageAlgorithm.java index 0070d5e..dff678c 100644 --- a/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/AutoPageAlgorithm.java +++ b/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/AutoPageAlgorithm.java @@ -3,6 +3,8 @@ */ package at.gv.egiz.pdfas.api.sign.pos.page; +import java.io.Serializable; + /** * The page for placing the signature is selected automatically. * @@ -14,7 +16,12 @@ package at.gv.egiz.pdfas.api.sign.pos.page; * * @author wprinz */ -public class AutoPageAlgorithm extends PageAlgorithm +public class AutoPageAlgorithm extends PageAlgorithm implements Serializable { + + /** + * + */ + private static final long serialVersionUID = 1L; // empty } diff --git a/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/NewPageAlgorithm.java b/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/NewPageAlgorithm.java index 2a8f67c..050be91 100644 --- a/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/NewPageAlgorithm.java +++ b/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/NewPageAlgorithm.java @@ -3,12 +3,19 @@ */ package at.gv.egiz.pdfas.api.sign.pos.page; +import java.io.Serializable; + /** * Places the signature on a new Page. * * @author wprinz */ -public class NewPageAlgorithm extends PageAlgorithm +public class NewPageAlgorithm extends PageAlgorithm implements Serializable { + + /** + * + */ + private static final long serialVersionUID = 1L; // empty block } diff --git a/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/PageAlgorithm.java b/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/PageAlgorithm.java index 9b0fe8a..14bd02e 100644 --- a/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/PageAlgorithm.java +++ b/src/main/java/at/gv/egiz/pdfas/api/sign/pos/page/PageAlgorithm.java @@ -3,12 +3,19 @@ */ package at.gv.egiz.pdfas.api.sign.pos.page; +import java.io.Serializable; + /** * Determines how the page on which the signature is to be placed is selected. * * @author wprinz */ -public abstract class PageAlgorithm +public abstract class PageAlgorithm implements Serializable { + + /** + * + */ + private static final long serialVersionUID = 1L; // empty } -- cgit v1.2.3