com.aspose.words

Class CustomDocumentProperties

A collection of custom document properties.

Each DocumentProperty object represents a custom property of a container document.

The names of the properties are case-insensitive.

The properties in the collection are sorted alphabetically by name.

Example:

Enumerates through all built-in and custom properties in a document.
String fileName = getMyDir() + "Properties.doc";
Document doc = new Document(fileName);

System.out.println(MessageFormat.format("1. Document name: {0}", doc.getOriginalFileName()));

System.out.println("2. Built-in Properties");
for (DocumentProperty docProperty : doc.getBuiltInDocumentProperties())
    System.out.println(MessageFormat.format("{0} : {1}", docProperty.getName(), docProperty.getValue()));

System.out.println("3. Custom Properties");
for (DocumentProperty docProperty : doc.getCustomDocumentProperties())
    System.out.println(MessageFormat.format("{0} : {1}", docProperty.getName(), docProperty.getValue()));
See Also:
Document, Document.BuiltInDocumentProperties, Document.CustomDocumentProperties

Property Getters/Setters Summary
intgetCount()
Gets number of items in the collection.
DocumentPropertyget(int index)
Returns a DocumentProperty object by index.
DocumentPropertyget(java.lang.String name)
Returns a DocumentProperty object by the name of the property.
 
Method Summary
DocumentPropertyadd(java.lang.String name, boolean value)
Creates a new custom document property of the PropertyType.Boolean data type.
DocumentPropertyadd(java.lang.String name, double value)
Creates a new custom document property of the PropertyType.Float data type.
DocumentPropertyadd(java.lang.String name, int value)
Creates a new custom document property of the PropertyType.Number data type.
DocumentPropertyadd(java.lang.String name, java.lang.String value)
Creates a new custom document property of the PropertyType.String data type.
DocumentPropertyadd(java.lang.String name, java.util.Date value)
Creates a new custom document property of the PropertyType.DateTime data type.
voidclear()
Removes all properties from the collection.
booleancontains(java.lang.String name)
Returns true if a property with the specified name exists in the collection.
intindexOf(java.lang.String name)
Gets the index of a property by name.
java.util.Iterator<DocumentProperty>iterator()
Returns an iterator object that can be used to iterate over all items in the collection.
voidremove(java.lang.String name)
Removes a property with the specified name from the collection.
voidremoveAt(int index)
Removes a property at the specified index.
 

    • Property Getters/Setters Detail

      • getCount

        public int getCount()
        
        Gets number of items in the collection.

        Example:

        Enumerates through all built-in and custom properties in a document using indexed access.
        String fileName = getMyDir() + "Properties.doc";
        Document doc = new Document(fileName);
        
        System.out.println(MessageFormat.format("1. Document name: {0}", fileName));
        
        System.out.println("2. Built-in Properties");
        for (int i = 0; i < doc.getBuiltInDocumentProperties().getCount(); i++)
        {
            DocumentProperty docProperty = doc.getBuiltInDocumentProperties().get(i);
            System.out.println(MessageFormat.format("{0}({1}) : {2}", docProperty.getName(), docProperty.getType(), docProperty.getValue()));
        }
        
        System.out.println("3. Custom Properties");
        for (int i = 0; i < doc.getCustomDocumentProperties().getCount(); i++)
        {
            DocumentProperty docProperty = doc.getCustomDocumentProperties().get(i);
            System.out.println(MessageFormat.format("{0}({1}) : {2}", docProperty.getName(), docProperty.getType(), docProperty.getValue()));
        }
      • get

        public DocumentProperty get(int index)
        
        Returns a DocumentProperty object by index.

        Note: In Java this method is slow because iterates over all nodes.

        Parameters:
        index - Zero-based index of the DocumentProperty to retrieve.

        Example:

        Enumerates through all built-in and custom properties in a document using indexed access.
        String fileName = getMyDir() + "Properties.doc";
        Document doc = new Document(fileName);
        
        System.out.println(MessageFormat.format("1. Document name: {0}", fileName));
        
        System.out.println("2. Built-in Properties");
        for (int i = 0; i < doc.getBuiltInDocumentProperties().getCount(); i++)
        {
            DocumentProperty docProperty = doc.getBuiltInDocumentProperties().get(i);
            System.out.println(MessageFormat.format("{0}({1}) : {2}", docProperty.getName(), docProperty.getType(), docProperty.getValue()));
        }
        
        System.out.println("3. Custom Properties");
        for (int i = 0; i < doc.getCustomDocumentProperties().getCount(); i++)
        {
            DocumentProperty docProperty = doc.getCustomDocumentProperties().get(i);
            System.out.println(MessageFormat.format("{0}({1}) : {2}", docProperty.getName(), docProperty.getType(), docProperty.getValue()));
        }
      • get

        public DocumentProperty get(java.lang.String name)
        
        Returns a DocumentProperty object by the name of the property.

        Returns null if a property with the specified name is not found.

        Parameters:
        name - The case-insensitive name of the property to retrieve.

        Example:

        Retrieves a custom document property by name.
        Document doc = new Document(getMyDir() + "Properties.doc");
        
        DocumentProperty docProperty = doc.getCustomDocumentProperties().get("Authorized Date");
        
        if (docProperty != null)
        {
            System.out.println(docProperty.toDateTime());
        } else
        {
            System.out.println("The document is not authorized. Authorizing...");
            doc.getCustomDocumentProperties().add("AuthorizedDate", new Date());
        }
    • Method Detail

      • add

        public DocumentProperty add(java.lang.String name, boolean value)
        Creates a new custom document property of the PropertyType.Boolean data type.
        Parameters:
        name - The name of the property.
        value - The value of the property.
        Returns:
        The newly created property object.

        Example:

        Checks if a custom property with a given name exists in a document and adds few more custom document properties.
        Document doc = new Document(getMyDir() + "Properties.doc");
        
        CustomDocumentProperties docProperties = doc.getCustomDocumentProperties();
        
        if (docProperties.get("Authorized") == null)
        {
            docProperties.add("Authorized", true);
            docProperties.add("Authorized By", "John Smith");
            docProperties.add("Authorized Date", new Date());
            docProperties.add("Authorized Revision", doc.getBuiltInDocumentProperties().getRevisionNumber());
            docProperties.add("Authorized Amount", 123.45);
        }
      • add

        public DocumentProperty add(java.lang.String name, double value)
        Creates a new custom document property of the PropertyType.Float data type.
        Parameters:
        name - The name of the property.
        value - The value of the property.
        Returns:
        The newly created property object.

        Example:

        Checks if a custom property with a given name exists in a document and adds few more custom document properties.
        Document doc = new Document(getMyDir() + "Properties.doc");
        
        CustomDocumentProperties docProperties = doc.getCustomDocumentProperties();
        
        if (docProperties.get("Authorized") == null)
        {
            docProperties.add("Authorized", true);
            docProperties.add("Authorized By", "John Smith");
            docProperties.add("Authorized Date", new Date());
            docProperties.add("Authorized Revision", doc.getBuiltInDocumentProperties().getRevisionNumber());
            docProperties.add("Authorized Amount", 123.45);
        }
      • add

        public DocumentProperty add(java.lang.String name, int value)
        Creates a new custom document property of the PropertyType.Number data type.
        Parameters:
        name - The name of the property.
        value - The value of the property.
        Returns:
        The newly created property object.

        Example:

        Checks if a custom property with a given name exists in a document and adds few more custom document properties.
        Document doc = new Document(getMyDir() + "Properties.doc");
        
        CustomDocumentProperties docProperties = doc.getCustomDocumentProperties();
        
        if (docProperties.get("Authorized") == null)
        {
            docProperties.add("Authorized", true);
            docProperties.add("Authorized By", "John Smith");
            docProperties.add("Authorized Date", new Date());
            docProperties.add("Authorized Revision", doc.getBuiltInDocumentProperties().getRevisionNumber());
            docProperties.add("Authorized Amount", 123.45);
        }
      • add

        public DocumentProperty add(java.lang.String name, java.lang.String value)
        Creates a new custom document property of the PropertyType.String data type.
        Parameters:
        name - The name of the property.
        value - The value of the property.
        Returns:
        The newly created property object.

        Example:

        Checks if a custom property with a given name exists in a document and adds few more custom document properties.
        Document doc = new Document(getMyDir() + "Properties.doc");
        
        CustomDocumentProperties docProperties = doc.getCustomDocumentProperties();
        
        if (docProperties.get("Authorized") == null)
        {
            docProperties.add("Authorized", true);
            docProperties.add("Authorized By", "John Smith");
            docProperties.add("Authorized Date", new Date());
            docProperties.add("Authorized Revision", doc.getBuiltInDocumentProperties().getRevisionNumber());
            docProperties.add("Authorized Amount", 123.45);
        }
      • add

        public DocumentProperty add(java.lang.String name, java.util.Date value)
        Creates a new custom document property of the PropertyType.DateTime data type.
        Parameters:
        name - The name of the property.
        value - The value of the property.
        Returns:
        The newly created property object.

        Example:

        Checks if a custom property with a given name exists in a document and adds few more custom document properties.
        Document doc = new Document(getMyDir() + "Properties.doc");
        
        CustomDocumentProperties docProperties = doc.getCustomDocumentProperties();
        
        if (docProperties.get("Authorized") == null)
        {
            docProperties.add("Authorized", true);
            docProperties.add("Authorized By", "John Smith");
            docProperties.add("Authorized Date", new Date());
            docProperties.add("Authorized Revision", doc.getBuiltInDocumentProperties().getRevisionNumber());
            docProperties.add("Authorized Amount", 123.45);
        }

        Example:

        Retrieves a custom document property by name.
        Document doc = new Document(getMyDir() + "Properties.doc");
        
        DocumentProperty docProperty = doc.getCustomDocumentProperties().get("Authorized Date");
        
        if (docProperty != null)
        {
            System.out.println(docProperty.toDateTime());
        } else
        {
            System.out.println("The document is not authorized. Authorizing...");
            doc.getCustomDocumentProperties().add("AuthorizedDate", new Date());
        }
      • clear

        public void clear()
        Removes all properties from the collection.
      • contains

        public boolean contains(java.lang.String name)
        Returns true if a property with the specified name exists in the collection.
        Parameters:
        name - The case-insensitive name of the property.
        Returns:
        True if the property exists in the collection; false otherwise.
      • indexOf

        public int indexOf(java.lang.String name)
        Gets the index of a property by name.

        Note: In Java this method is slow because iterates over all nodes.

        Parameters:
        name - The case-insensitive name of the property.
        Returns:
        The zero based index. Negative value if not found.
      • iterator

        public java.util.Iterator<DocumentProperty> iterator()
        Returns an iterator object that can be used to iterate over all items in the collection.
      • remove

        public void remove(java.lang.String name)
        Removes a property with the specified name from the collection.
        Parameters:
        name - The case-insensitive name of the property.

        Example:

        Removes a custom document property.
        Document doc = new Document(getMyDir() + "Properties.doc");
        
        doc.getCustomDocumentProperties().remove("Authorized Date");
      • removeAt

        public void removeAt(int index)
        Removes a property at the specified index.

        Note: In Java this method is slow because iterates over all nodes.

        Parameters:
        index - The zero based index.