aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/gv/egiz/pdfas/impl/api/PosHelper.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/gv/egiz/pdfas/impl/api/PosHelper.java')
-rw-r--r--src/main/java/at/gv/egiz/pdfas/impl/api/PosHelper.java79
1 files changed, 79 insertions, 0 deletions
diff --git a/src/main/java/at/gv/egiz/pdfas/impl/api/PosHelper.java b/src/main/java/at/gv/egiz/pdfas/impl/api/PosHelper.java
new file mode 100644
index 0000000..14f081f
--- /dev/null
+++ b/src/main/java/at/gv/egiz/pdfas/impl/api/PosHelper.java
@@ -0,0 +1,79 @@
+/**
+ *
+ */
+package at.gv.egiz.pdfas.impl.api;
+
+import at.gv.egiz.pdfas.api.sign.pos.SignaturePositioning;
+import at.gv.egiz.pdfas.api.sign.pos.axis.AbsoluteAxisAlgorithm;
+import at.gv.egiz.pdfas.api.sign.pos.axis.AutoAxisAlgorithm;
+import at.gv.egiz.pdfas.api.sign.pos.axis.AxisAlgorithm;
+import at.gv.egiz.pdfas.api.sign.pos.page.AbsolutePageAlgorithm;
+import at.gv.egiz.pdfas.api.sign.pos.page.AutoPageAlgorithm;
+import at.gv.egiz.pdfas.api.sign.pos.page.NewPageAlgorithm;
+import at.gv.egiz.pdfas.api.sign.pos.page.PageAlgorithm;
+import at.knowcenter.wag.egov.egiz.PdfAS;
+import at.knowcenter.wag.egov.egiz.exceptions.PDFDocumentException;
+import at.knowcenter.wag.egov.egiz.pdf.TablePos;
+
+/**
+ * @author wprinz
+ *
+ */
+public final class PosHelper
+{
+ /**
+ * Hidden default constructor.
+ */
+ private PosHelper()
+ {
+ // empty block
+ }
+
+ public static TablePos formTablePos(SignaturePositioning signaturePositioning) throws PDFDocumentException
+ {
+ if (signaturePositioning == null)
+ {
+ return null;
+ }
+
+ String positioningString = formPositioningString(signaturePositioning);
+ TablePos pos = PdfAS.parsePositionFromPosString(positioningString);
+
+ return pos;
+ }
+
+ protected static String formPositioningString(SignaturePositioning sp)
+ {
+ String x_algo = formAxisAlgoString(sp.getXAlgorithm());
+ String y_algo = formAxisAlgoString(sp.getYAlgorithm());
+ String w_algo = formAxisAlgoString(sp.getWidthAlgorithm());
+ String p_algo = formPageAlgoString(sp.getPageAlgorithm());
+ String positioning = "x:" + x_algo + ";y:" + y_algo + ";w:" + w_algo + ";p:" + p_algo + ";f:" + sp.getFooterLine();
+ return positioning;
+ }
+
+ protected static String formAxisAlgoString(AxisAlgorithm algorithm)
+ {
+ if (algorithm instanceof AutoAxisAlgorithm)
+ {
+ return "auto";
+ }
+ AbsoluteAxisAlgorithm aaa = (AbsoluteAxisAlgorithm) algorithm;
+ return Float.toString(aaa.getAbsoluteValue());
+ }
+
+ protected static String formPageAlgoString(PageAlgorithm algorithm)
+ {
+ if (algorithm instanceof AutoPageAlgorithm)
+ {
+ return "auto";
+ }
+ if (algorithm instanceof NewPageAlgorithm)
+ {
+ return "new";
+ }
+ AbsolutePageAlgorithm apa = (AbsolutePageAlgorithm) algorithm;
+ return Integer.toString(apa.getPage());
+ }
+
+}