]> source.dussan.org Git - poi.git/commitdiff
#58847 Getters/setters/removers for the additional well-known document summary inform...
authorNick Burch <nick@apache.org>
Wed, 13 Jan 2016 07:26:26 +0000 (07:26 +0000)
committerNick Burch <nick@apache.org>
Wed, 13 Jan 2016 07:26:26 +0000 (07:26 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1724363 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/poi/hpsf/DocumentSummaryInformation.java
src/java/org/apache/poi/hpsf/wellknown/PropertyIDMap.java

index 0dacd0d97c38a61cf34f0c037ebe3c1bb7ad5c51..a62c21c8ec55d68b15615109b77c0f8672768860 100644 (file)
@@ -556,8 +556,249 @@ public class DocumentSummaryInformation extends SpecialPropertySet
         final MutableSection s = (MutableSection) getFirstSection();
         s.removeProperty(PropertyIDMap.PID_LINKSDIRTY);
     }
+    
+    
+    /**
+     * <p>Returns the character count including whitespace, or 0 if the 
+     *  {@link DocumentSummaryInformation} does not contain this char count.</p>
+     * <p>This is the whitespace-including version of {@link SummaryInformation#getCharCount()}
+     *
+     * @return The character count or <code>null</code>
+     */
+    public int getCharCountWithSpaces()
+    {
+        return getPropertyIntValue(PropertyIDMap.PID_CCHWITHSPACES);
+    }
+
+    /**
+     * Sets the character count including whitespace
+     * 
+     * @param charCount The character count to set.
+     */
+    public void setCharCountWithSpaces(int count)
+    {
+        final MutableSection s = (MutableSection) getFirstSection();
+        s.setProperty(PropertyIDMap.PID_CCHWITHSPACES, count);
+    }
+    
+    /**
+     * Removes the character count
+     */
+    public void removeCharCountWithSpaces()
+    {
+        final MutableSection s = (MutableSection) getFirstSection();
+        s.removeProperty(PropertyIDMap.PID_CCHWITHSPACES);
+    }
+    
+    
+    /**
+     * <p>Get if the User Defined Property Set has been updated outside of the 
+     * Application.</p>
+     * <p>If it has (true), the hyperlinks should be updated on document load.</p>
+     */
+    public boolean getHyperlinksChanged()
+    {
+        return getPropertyBooleanValue(PropertyIDMap.PID_HYPERLINKSCHANGED);
+    }
+    
+    /**
+     * Set the flag for if the User Defined Property Set has been updated outside 
+     *  of the Application.
+     */
+    public void setHyperlinksChanged(boolean changed)
+    {
+        final MutableSection s = (MutableSection) getFirstSection();
+        s.setProperty(PropertyIDMap.PID_HYPERLINKSCHANGED, changed);
+    }
+    
+    /**
+     * Removes the flag for if the User Defined Property Set has been updated
+     *  outside of the Application.
+     */
+    public void removeHyperlinksChanged()
+    {
+        final MutableSection s = (MutableSection) getFirstSection();
+        s.removeProperty(PropertyIDMap.PID_HYPERLINKSCHANGED);
+    }
+
+    
+    /**
+     * <p>Gets the version of the Application which wrote the
+     *  Property set, stored with the two high order bytes having the major
+     *  version number, and the two low order bytes the minor version number.</p>
+     * <p>This will be 0 if no version is set.</p>
+     */
+    public int getApplicationVersion()
+    {
+        return getPropertyIntValue(PropertyIDMap.PID_VERSION);
+    }
+    
+    /**
+     * Sets the Application version, which must be a 4 byte int with
+     *  the  two high order bytes having the major version number, and the 
+     *  two low order bytes the minor version number.
+     */
+    public void setApplicationVersion(int version)
+    {
+        final MutableSection s = (MutableSection) getFirstSection();
+        s.setProperty(PropertyIDMap.PID_VERSION, version);
+    }
+    
+    /**
+     * Removes the Application Version
+     */
+    public void removeApplicationVersion()
+    {
+        final MutableSection s = (MutableSection) getFirstSection();
+        s.removeProperty(PropertyIDMap.PID_VERSION);
+    }
+
+    
+    /**
+     * <p>Returns the VBA digital signature for the VBA project 
+     *  embedded in the document (or <code>null</code>).</p>
+     */
+    public byte[] getVBADigitalSignature()
+    {
+        Object value = getProperty(PropertyIDMap.PID_DIGSIG);
+        if (value != null && value instanceof byte[]) {
+            return (byte[])value;
+        }
+        return null;
+    }
+    
+    /**
+     * <p>Sets the VBA digital signature for the VBA project 
+     *  embedded in the document.</p>
+     *  
+     * @param signature VBA Digital Signature for the project
+     */
+    public void setVBADigitalSignature(byte[] signature)
+    {
+        final MutableSection s = (MutableSection) getFirstSection();
+        s.setProperty(PropertyIDMap.PID_DIGSIG, signature);
+    }
+    
+    /**
+     * Removes the VBA Digital Signature
+     */
+    public void removeVBADigitalSignature()
+    {
+        final MutableSection s = (MutableSection) getFirstSection();
+        s.removeProperty(PropertyIDMap.PID_DIGSIG);
+    }
 
+    
+    /**
+     * <p>Gets the content type of the file (or <code>null</code>).</p>
+     */
+    public String getContentType()
+    {
+        return getPropertyStringValue(PropertyIDMap.PID_CONTENTTYPE);
+    }
+    
+    /**
+     * Sets the content type of the file
+     */
+    public void setContentType(String type)
+    {
+        final MutableSection s = (MutableSection) getFirstSection();
+        s.setProperty(PropertyIDMap.PID_CONTENTTYPE, type);
+    }
+    
+    /**
+     * Removes the content type of the file
+     */
+    public void removeContentType()
+    {
+        final MutableSection s = (MutableSection) getFirstSection();
+        s.removeProperty(PropertyIDMap.PID_CONTENTTYPE);
+    }
 
+    
+    /**
+     * <p>Gets the content status of the file (or <code>null</code>).</p>
+     */
+    public String getContentStatus()
+    {
+        return getPropertyStringValue(PropertyIDMap.PID_CONTENTSTATUS);
+    }
+    
+    /**
+     * Sets the content type of the file
+     */
+    public void setContentStatus(String status)
+    {
+        final MutableSection s = (MutableSection) getFirstSection();
+        s.setProperty(PropertyIDMap.PID_CONTENTSTATUS, status);
+    }
+    
+    /**
+     * Removes the content status of the file
+     */
+    public void removeContentStatus()
+    {
+        final MutableSection s = (MutableSection) getFirstSection();
+        s.removeProperty(PropertyIDMap.PID_CONTENTSTATUS);
+    }
+
+    
+    /**
+     * <p>Gets the document language, which is normally unset and empty
+     *  (or <code>null</code>).</p>
+     */
+    public String getLanguage()
+    {
+        return getPropertyStringValue(PropertyIDMap.PID_LANGUAGE);
+    }
+    
+    /**
+     * Set the document language
+     */
+    public void setLanguage(String language)
+    {
+        final MutableSection s = (MutableSection) getFirstSection();
+        s.setProperty(PropertyIDMap.PID_LANGUAGE, language);
+    }
+    
+    /**
+     * Removes the document language
+     */
+    public void removeLanguage()
+    {
+        final MutableSection s = (MutableSection) getFirstSection();
+        s.removeProperty(PropertyIDMap.PID_LANGUAGE);
+    }
+
+    
+    /**
+     * <p>Gets the document version as a string, which is normally unset and empty
+     *  (or <code>null</code>).</p>
+     */
+    public String getDocumentVersion()
+    {
+        return getPropertyStringValue(PropertyIDMap.PID_DOCVERSION);
+    }
+    
+    /**
+     * Sets the document version string
+     */
+    public void setDocumentVersion(String version)
+    {
+        final MutableSection s = (MutableSection) getFirstSection();
+        s.setProperty(PropertyIDMap.PID_DOCVERSION, version);
+    }
+    
+    /**
+     * Removes the document version string
+     */
+    public void removeDocumentVersion()
+    {
+        final MutableSection s = (MutableSection) getFirstSection();
+        s.removeProperty(PropertyIDMap.PID_DOCVERSION);
+    }
+
+    
     /**
      * <p>Gets the custom properties.</p>
      *
index 7d7502b81086513f084181f5e3410d79aa8b0678..72f09ff112df97fdc4c12922f196e0a7ace0a4fe 100644 (file)
@@ -250,7 +250,7 @@ public class PropertyIDMap extends HashMap<Long,String> {
     /**
      * <p>This entry contains the version of the Application which wrote the
      *  Property set, stored with the two high order bytes having the major
-     *  version number, and hte two low order bytes the minor version number.
+     *  version number, and the two low order bytes the minor version number.
      */
     public static final int PID_VERSION = 0x17;