com.aspose.words
Class DocumentPropertyCollection

java.lang.Object
    extended by com.aspose.words.DocumentPropertyCollection
All Implemented Interfaces:
java.lang.Iterable
Direct Known Subclasses:
BuiltInDocumentProperties, CustomDocumentProperties

public abstract class DocumentPropertyCollection 
extends java.lang.Object

Base class for BuiltInDocumentProperties and CustomDocumentProperties collections.

The names of the properties are case-insensitive.

The properties in the collection are sorted alphabetically by name.

See Also:
BuiltInDocumentProperties, 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
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

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<DocumentPropertyiterator()
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.

See Also:
          Aspose.Words Documentation - the home page for the Aspose.Words Product Documentation.
          Aspose.Words Support Forum - our preferred method of support.