You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2021/03/07 18:07:53 UTC

svn commit: r1887300 - in /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox: cos/ pdmodel/interactive/annotation/

Author: lehmi
Date: Sun Mar  7 18:07:53 2021
New Revision: 1887300

URL: http://svn.apache.org/viewvc?rev=1887300&view=rev
Log:
PDFBOX-4892: use convenience methods to simplify code

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSName.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAnnotation.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAnnotationInk.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAnnotationLine.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAnnotationLink.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAnnotationMarkup.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSName.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSName.java?rev=1887300&r1=1887299&r2=1887300&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSName.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSName.java Sun Mar  7 18:07:53 2021
@@ -234,6 +234,7 @@ public final class COSName extends COSBa
     public static final COSName END_OF_LINE = new COSName("EndOfLine");
     public static final COSName ENTRUST_PPKEF = new COSName("Entrust.PPKEF");
     public static final COSName EXCLUSION = new COSName("Exclusion");
+    public static final COSName EX_DATA = new COSName("ExData");
     public static final COSName EXT_G_STATE = new COSName("ExtGState");
     public static final COSName EXTEND = new COSName("Extend");
     public static final COSName EXTENDS = new COSName("Extends");
@@ -307,6 +308,7 @@ public final class COSName extends COSBa
     public static final COSName INKLIST = new COSName("InkList");
     public static final COSName INTENT = new COSName("Intent");
     public static final COSName INTERPOLATE = new COSName("Interpolate");
+    public static final COSName IRT = new COSName("IRT");
     public static final COSName IT = new COSName("IT");
     public static final COSName ITALIC_ANGLE = new COSName("ItalicAngle");
     public static final COSName ISSUER = new COSName("Issuer");
@@ -428,6 +430,7 @@ public final class COSName extends COSBa
     public static final COSName OVERLAY = new COSName("Overlay");
     // P
     public static final COSName P = new COSName("P");
+    public static final COSName PA = new COSName("PA");
     public static final COSName PAGE = new COSName("Page");
     public static final COSName PAGE_LABELS = new COSName("PageLabels");
     public static final COSName PAGE_LAYOUT = new COSName("PageLayout");
@@ -449,6 +452,7 @@ public final class COSName extends COSBa
     public static final COSName PG = new COSName("Pg");
     public static final COSName PI = new COSName("PI");
     public static final COSName PO = new COSName("PO");
+    public static final COSName POPUP = new COSName("Popup");
     public static final COSName PRE_RELEASE = new COSName("PreRelease");
     public static final COSName PREDICTOR = new COSName("Predictor");
     public static final COSName PREV = new COSName("Prev");
@@ -487,6 +491,7 @@ public final class COSName extends COSBa
     public static final COSName ROOT = new COSName("Root");
     public static final COSName ROTATE = new COSName("Rotate");
     public static final COSName ROWS = new COSName("Rows");
+    public static final COSName RT = new COSName("RT");
     public static final COSName RUN_LENGTH_DECODE = new COSName("RunLengthDecode");
     public static final COSName RUN_LENGTH_DECODE_ABBREVIATION = new COSName("RL");
     public static final COSName RV = new COSName("RV");

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAnnotation.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAnnotation.java?rev=1887300&r1=1887299&r2=1887300&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAnnotation.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAnnotation.java Sun Mar  7 18:07:53 2021
@@ -281,7 +281,7 @@ public abstract class PDAnnotation imple
      */
     public PDRectangle getRectangle()
     {
-        COSArray rectArray = (COSArray) dictionary.getDictionaryObject(COSName.RECT);
+        COSArray rectArray = dictionary.getCOSArray(COSName.RECT);
         PDRectangle rectangle = null;
         if (rectArray != null)
         {
@@ -367,12 +367,8 @@ public abstract class PDAnnotation imple
      */
     public PDAppearanceDictionary getAppearance()
     {
-        COSBase base = dictionary.getDictionaryObject(COSName.AP);
-        if (base instanceof COSDictionary)
-        {
-            return new PDAppearanceDictionary((COSDictionary) base);
-        }
-        return null;
+        COSDictionary appearance = dictionary.getCOSDictionary(COSName.AP);
+        return appearance != null ? new PDAppearanceDictionary(appearance) : null;
     }
 
     /**
@@ -729,12 +725,8 @@ public abstract class PDAnnotation imple
      */
     public PDPropertyList getOptionalContent()
     {
-        COSBase base = getCOSObject().getDictionaryObject(COSName.OC);
-        if (base instanceof COSDictionary)
-        {
-            return PDPropertyList.create((COSDictionary) base);
-        }
-        return null;
+        COSDictionary optionalContent = getCOSObject().getCOSDictionary(COSName.OC);
+        return optionalContent != null ? PDPropertyList.create(optionalContent) : null;
     }
 
     /**
@@ -758,11 +750,9 @@ public abstract class PDAnnotation imple
      */
     public COSArray getBorder()
     {
-        COSBase base = getCOSObject().getDictionaryObject(COSName.BORDER);
-        COSArray border;
-        if (base instanceof COSArray)
+        COSArray border = getCOSObject().getCOSArray(COSName.BORDER);
+        if (border != null)
         {
-            border = (COSArray) base;
             if (border.size() < 3)
             {
                 // create a copy to avoid altering the PDF

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAnnotationInk.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAnnotationInk.java?rev=1887300&r1=1887299&r2=1887300&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAnnotationInk.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAnnotationInk.java Sun Mar  7 18:07:53 2021
@@ -87,10 +87,9 @@ public class PDAnnotationInk extends PDA
      */
     public float[][] getInkList()
     {
-        COSBase base = getCOSObject().getDictionaryObject(COSName.INKLIST);
-        if (base instanceof COSArray)
+        COSArray array = getCOSObject().getCOSArray(COSName.INKLIST);
+        if (array != null)
         {
-            COSArray array = (COSArray) base;
             float[][] inkList = new float[array.size()][];
             for (int i = 0; i < array.size(); ++i)
             {

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAnnotationLine.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAnnotationLine.java?rev=1887300&r1=1887299&r2=1887300&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAnnotationLine.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAnnotationLine.java Sun Mar  7 18:07:53 2021
@@ -147,7 +147,7 @@ public class PDAnnotationLine extends PD
      */
     public float[] getLine()
     {
-        COSArray l = (COSArray) getCOSObject().getDictionaryObject(COSName.L);
+        COSArray l = getCOSObject().getCOSArray(COSName.L);
         return l.toFloatArray();
     }
 
@@ -159,9 +159,8 @@ public class PDAnnotationLine extends PD
     public void setStartPointEndingStyle(String style)
     {
         String actualStyle = style == null ? PDAnnotationLine.LE_NONE : style;
-        COSBase base = getCOSObject().getDictionaryObject(COSName.LE);
-        COSArray array;
-        if (!(base instanceof COSArray) || ((COSArray) base).size() == 0)
+        COSArray array = getCOSObject().getCOSArray(COSName.LE);
+        if (array == null || array.size() == 0)
         {
             array = new COSArray();
             array.add(COSName.getPDFName(actualStyle));
@@ -170,7 +169,6 @@ public class PDAnnotationLine extends PD
         }
         else
         {
-            array = (COSArray) base;
             array.setName(0, actualStyle);
         }
     }
@@ -182,10 +180,10 @@ public class PDAnnotationLine extends PD
      */
     public String getStartPointEndingStyle()
     {
-        COSBase base = getCOSObject().getDictionaryObject(COSName.LE);
-        if (base instanceof COSArray && ((COSArray) base).size() >= 2)
+        COSArray array = getCOSObject().getCOSArray(COSName.LE);
+        if (array != null && array.size() >= 2)
         {
-            return ((COSArray) base).getName(0, LE_NONE);
+            return array.getName(0, LE_NONE);
         }
         return LE_NONE;
     }
@@ -198,9 +196,8 @@ public class PDAnnotationLine extends PD
     public void setEndPointEndingStyle(String style)
     {
         String actualStyle = style == null ? PDAnnotationLine.LE_NONE : style;
-        COSBase base = getCOSObject().getDictionaryObject(COSName.LE);
-        COSArray array;
-        if (!(base instanceof COSArray) || ((COSArray) base).size() < 2)
+        COSArray array = getCOSObject().getCOSArray(COSName.LE);
+        if (array == null || array.size() < 2)
         {
             array = new COSArray();
             array.add(COSName.getPDFName(PDAnnotationLine.LE_NONE));
@@ -209,7 +206,6 @@ public class PDAnnotationLine extends PD
         }
         else
         {
-            array = (COSArray) base;
             array.setName(1, actualStyle);
         }
     }
@@ -221,10 +217,10 @@ public class PDAnnotationLine extends PD
      */
     public String getEndPointEndingStyle()
     {
-        COSBase base = getCOSObject().getDictionaryObject(COSName.LE);
-        if (base instanceof COSArray && ((COSArray) base).size() >= 2)
+        COSArray array = getCOSObject().getCOSArray(COSName.LE);
+        if (array.size() >= 2)
         {
-            return ((COSArray) base).getName(1, LE_NONE);
+            return array.getName(1, LE_NONE);
         }
         return LE_NONE;
     }
@@ -358,12 +354,12 @@ public class PDAnnotationLine extends PD
      */
     public void setCaptionHorizontalOffset(float offset)
     {
-        COSArray array = (COSArray) this.getCOSObject().getDictionaryObject(COSName.CO);
+        COSArray array = getCOSObject().getCOSArray(COSName.CO);
         if (array == null)
         {
             array = new COSArray();
             array.setFloatArray(new float[] { offset, 0.f });
-            this.getCOSObject().setItem(COSName.CO, array);
+            getCOSObject().setItem(COSName.CO, array);
         }
         else
         {
@@ -378,14 +374,8 @@ public class PDAnnotationLine extends PD
      */
     public float getCaptionHorizontalOffset()
     {
-        float retval = 0.f;
-        COSArray array = (COSArray) this.getCOSObject().getDictionaryObject(COSName.CO);
-        if (array != null)
-        {
-            retval = array.toFloatArray()[0];
-        }
-
-        return retval;
+        COSArray array = getCOSObject().getCOSArray(COSName.CO);
+        return array != null ? array.toFloatArray()[0] : 0.f;
     }
 
     /**
@@ -395,7 +385,7 @@ public class PDAnnotationLine extends PD
      */
     public void setCaptionVerticalOffset(float offset)
     {
-        COSArray array = (COSArray) this.getCOSObject().getDictionaryObject(COSName.CO);
+        COSArray array = getCOSObject().getCOSArray(COSName.CO);
         if (array == null)
         {
             array = new COSArray();
@@ -415,13 +405,8 @@ public class PDAnnotationLine extends PD
      */
     public float getCaptionVerticalOffset()
     {
-        float retval = 0.f;
-        COSArray array = (COSArray) this.getCOSObject().getDictionaryObject(COSName.CO);
-        if (array != null)
-        {
-            retval = array.toFloatArray()[1];
-        }
-        return retval;
+        COSArray array = getCOSObject().getCOSArray(COSName.CO);
+        return array != null ? array.toFloatArray()[1] : 0.f;
     }
 
     /**

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAnnotationLink.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAnnotationLink.java?rev=1887300&r1=1887299&r2=1887300&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAnnotationLink.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAnnotationLink.java Sun Mar  7 18:07:53 2021
@@ -92,12 +92,8 @@ public class PDAnnotationLink extends PD
      */
     public PDAction getAction()
     {
-        COSBase base = getCOSObject().getDictionaryObject(COSName.A);
-        if (base instanceof COSDictionary)
-        {
-            return PDActionFactory.createAction((COSDictionary) base);
-        }
-        return null;
+        COSDictionary action = getCOSObject().getCOSDictionary(COSName.A);
+        return action != null ? PDActionFactory.createAction(action) : null;
     }
 
     /**
@@ -130,12 +126,8 @@ public class PDAnnotationLink extends PD
      */
     public PDBorderStyleDictionary getBorderStyle()
     {
-        COSBase bs = getCOSObject().getDictionaryObject(COSName.BS);
-        if (bs instanceof COSDictionary)
-        {
-            return new PDBorderStyleDictionary((COSDictionary) bs);
-        }
-        return null;
+        COSDictionary bs = getCOSObject().getCOSDictionary(COSName.BS);
+        return bs != null ? new PDBorderStyleDictionary(bs) : null;
     }
 
     /**
@@ -148,8 +140,7 @@ public class PDAnnotationLink extends PD
      */
     public PDDestination getDestination() throws IOException
     {
-        COSBase base = getCOSObject().getDictionaryObject(COSName.DEST);
-        return PDDestination.create(base);
+        return PDDestination.create(getCOSObject().getDictionaryObject(COSName.DEST));
     }
 
     /**
@@ -189,7 +180,7 @@ public class PDAnnotationLink extends PD
      */
     public void setPreviousURI(PDActionURI pa)
     {
-        getCOSObject().setItem("PA", pa);
+        getCOSObject().setItem(COSName.PA, pa);
     }
 
     /**
@@ -199,12 +190,8 @@ public class PDAnnotationLink extends PD
      */
     public PDActionURI getPreviousURI()
     {
-        COSBase base = getCOSObject().getDictionaryObject("PA");
-        if (base instanceof COSDictionary)
-        {
-            return new PDActionURI((COSDictionary) base);
-        }
-        return null;
+        COSDictionary previousURI = getCOSObject().getCOSDictionary(COSName.PA);
+        return previousURI != null ? new PDActionURI((COSDictionary) previousURI) : null;
     }
 
     /**
@@ -226,12 +213,8 @@ public class PDAnnotationLink extends PD
      */
     public float[] getQuadPoints()
     {
-        COSBase base = getCOSObject().getDictionaryObject(COSName.QUADPOINTS);
-        if (base instanceof COSArray)
-        {
-            return ((COSArray) base).toFloatArray();
-        }
-        return null; 
+        COSArray array = getCOSObject().getCOSArray(COSName.QUADPOINTS);
+        return array != null ? array.toFloatArray() : null;
     }
     
     /**

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAnnotationMarkup.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAnnotationMarkup.java?rev=1887300&r1=1887299&r2=1887300&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAnnotationMarkup.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAnnotationMarkup.java Sun Mar  7 18:07:53 2021
@@ -92,15 +92,8 @@ public class PDAnnotationMarkup extends
      */
     public PDAnnotationPopup getPopup()
     {
-        COSDictionary popup = (COSDictionary) getCOSObject().getDictionaryObject("Popup");
-        if (popup != null)
-        {
-            return new PDAnnotationPopup(popup);
-        }
-        else
-        {
-            return null;
-        }
+        COSDictionary popup = getCOSObject().getCOSDictionary(COSName.POPUP);
+        return popup != null ? new PDAnnotationPopup(popup) : null;
     }
 
     /**
@@ -110,7 +103,7 @@ public class PDAnnotationMarkup extends
      */
     public void setPopup(PDAnnotationPopup popup)
     {
-        getCOSObject().setItem("Popup", popup);
+        getCOSObject().setItem(COSName.POPUP, popup);
     }
 
     /**
@@ -194,12 +187,8 @@ public class PDAnnotationMarkup extends
      */
     public PDAnnotation getInReplyTo() throws IOException
     {
-        COSBase base = getCOSObject().getDictionaryObject("IRT");
-        if (base instanceof COSDictionary)
-        {
-            return PDAnnotation.createAnnotation(base);
-        }
-        return null;
+        COSDictionary base = getCOSObject().getCOSDictionary(COSName.IRT);
+        return base != null ? PDAnnotation.createAnnotation(base) : null;
     }
 
     /**
@@ -210,7 +199,7 @@ public class PDAnnotationMarkup extends
      */
     public void setInReplyTo(PDAnnotation irt)
     {
-        getCOSObject().setItem("IRT", irt);
+        getCOSObject().setItem(COSName.IRT, irt);
     }
 
     /**
@@ -241,7 +230,7 @@ public class PDAnnotationMarkup extends
      */
     public String getReplyType()
     {
-        return getCOSObject().getNameAsString("RT", RT_REPLY);
+        return getCOSObject().getNameAsString(COSName.RT, RT_REPLY);
     }
 
     /**
@@ -252,7 +241,7 @@ public class PDAnnotationMarkup extends
      */
     public void setReplyType(String rt)
     {
-        getCOSObject().setName("RT", rt);
+        getCOSObject().setName(COSName.RT, rt);
     }
 
     /**
@@ -284,12 +273,8 @@ public class PDAnnotationMarkup extends
      */
     public PDExternalDataDictionary getExternalData()
     {
-        COSBase exData = this.getCOSObject().getDictionaryObject("ExData");
-        if (exData instanceof COSDictionary)
-        {
-            return new PDExternalDataDictionary((COSDictionary) exData);
-        }
-        return null;
+        COSDictionary exData = getCOSObject().getCOSDictionary(COSName.EX_DATA);
+        return exData != null ? new PDExternalDataDictionary(exData) : null;
     }
 
     /**
@@ -299,7 +284,7 @@ public class PDAnnotationMarkup extends
      */
     public void setExternalData(PDExternalDataDictionary externalData)
     {
-        this.getCOSObject().setItem("ExData", externalData);
+        this.getCOSObject().setItem(COSName.EX_DATA, externalData);
     }
 
     /**
@@ -320,11 +305,7 @@ public class PDAnnotationMarkup extends
      */
     public PDBorderStyleDictionary getBorderStyle()
     {
-        COSBase bs = getCOSObject().getDictionaryObject(COSName.BS);
-        if (bs instanceof COSDictionary)
-        {
-            return new PDBorderStyleDictionary((COSDictionary) bs);
-        }
-        return null;
+        COSDictionary bs = getCOSObject().getCOSDictionary(COSName.BS);
+        return bs != null ? new PDBorderStyleDictionary(bs) : null;
     }
 }