com.aspose.email

Interfaces

Classes

Enums

Exceptions

com.aspose.email

Class PersonalStorage

  • All Implemented Interfaces:
    com.aspose.ms.System.IDisposable, Closeable, AutoCloseable


    public class PersonalStorage
    extends Object
    implements com.aspose.ms.System.IDisposable, Closeable

    Represents Personal Storage Table (.pst) file.

    • Field Detail

      • ItemMoved

        public final com.aspose.ms.lang.Event<ItemMovedEventHandler> ItemMoved

        Occurs when an item is moved to the another folder.

      • StorageProcessed

        public final com.aspose.ms.lang.Event<StorageProcessedEventHandler> StorageProcessed

        Occurs in splitting and merging operations when a new chunk of pst is created or the next file is processed and is to be merged.

    • Method Detail

      • getRootFolder

        public final FolderInfo getRootFolder()

        Gets the root folder of PST.

        Value: FolderInfo that represents a root folder.
      • getStore

        public final MessageStore getStore()

        Gets the PST message store.

        Value: The MessageStore which is the rough equivalent of the top of a Mailbox.
      • getFormat

        public final int getFormat()

        Gets the file format.

        Value: FileFormat that specifies file format.


        The .pst and .ost file formats are supported now.
      • canWrite

        public final boolean canWrite()

        Gets a value indicating whether the current pst supports writing.

      • isUnicode

        public final boolean isUnicode()

        Gets a value indicating whether the PST file format is Unicode. There are two versions of the PST file format: Unicode and ANSI.

      • fromFile

        public static PersonalStorage fromFile(String fileName)

        Load PST from file.

        Parameters:
        fileName - Name of .pst file.


        By default, the pst will support writing.
        Returns:
        A PersonalStorage object that represents the current PST.
      • fromFile

        public static PersonalStorage fromFile(String fileName,
                               boolean writable)

        Load PST from file.

        Parameters:
        fileName - Name of .pst file.
        writable - if set to true then the the pst file will support writing, otherwise it will be opened in read-only mode.
        Returns:
        A PersonalStorage object that represents the current PST.
      • fromFile

        public static PersonalStorage fromFile(String fileName,
                               PersonalStorageLoadOptions loadOptions)

        Load PST from file.

        Parameters:
        fileName - Name of .pst file.
        loadOptions - The load options.
        Returns:
        A PersonalStorage object that represents the current PST.
        Throws:
        com.aspose.ms.System.ArgumentNullException - fileName - File name can not be null or empty
      • fromStream

        public static PersonalStorage fromStream(InputStream stream,
                                 boolean writable)

        Load PST from stream.

        Parameters:
        stream - The System.IO.Stream.
        writable - if set to true then the the pst will support writing, otherwise it will be opened in read-only mode.
        Returns:
        A PersonalStorage object that represents the current PST.
      • fromStream

        public static PersonalStorage fromStream(InputStream stream,
                                 PersonalStorageLoadOptions loadOptions)

        Load PST from stream.

        Parameters:
        stream - The System.IO.Stream.
        loadOptions - The load options.
        Returns:
        A PersonalStorage object that represents the current PST.
      • fromStream

        public static PersonalStorage fromStream(InputStream stream)

        Load PST from stream.

        Parameters:
        stream - The System.IO.Stream.


        By default, the pst will support writing.
        Returns:
        A PersonalStorage object that represents the current PST.
      • create

        public static PersonalStorage create(String fileName,
                             int version)

        Creates the new PST file with the specified file name.

        Parameters:
        fileName - The full name of the file.
        version - The PST file version.


        Note, only Unicode file version creation is supported now.
        Returns:
        A PersonalStorage object that represents the new PST.
        Throws:
        com.aspose.ms.System.NotImplementedException - throws if ANSI file version is created
        com.aspose.ms.System.ArgumentNullException - throws if file name is null or empty
      • create

        public static PersonalStorage create(com.aspose.ms.System.IO.Stream stream,
                             int version)

        Creates the PST in a stream.

        Parameters:
        stream - The stream in which PST is created.
        version - The PST file version.


        Note, only Unicode file version creation is supported now.
        Returns:
        A PersonalStorage object that represents the new PST.
        Throws:
        com.aspose.ms.System.NotImplementedException - throws if ANSI file version is created
        com.aspose.ms.System.ArgumentNullException - throws if stream is null
      • create

        public static PersonalStorage create(OutputStream stream,
                             int version)

        Creates the PST in a stream.

        Parameters:
        stream - The stream in which PST is created.
        version - The PST file version.


        Note, only Unicode file version creation is supported now.
        Returns:
        A PersonalStorage object that represents the new PST.
        Throws:
        com.aspose.ms.System.NotImplementedException - throws if ANSI file version is created
        com.aspose.ms.System.ArgumentNullException - throws if stream is null
      • create

        public static PersonalStorage create(OutputStream stream,
                             int blockSize,
                             int version)

        Creates the PST in a stream.

        Parameters:
        stream - The stream in which PST is created.
        blockSize - The optimal block size to expand cache buffer(in bytes).
        version - The PST file version.


        Note, only Unicode file version creation is supported now.
        Returns:
        A PersonalStorage object that represents the new PST.
        Throws:
        com.aspose.ms.System.NotImplementedException - throws if ANSI file version is created
        com.aspose.ms.System.ArgumentNullException - throws if stream is null
      • saveAs

        public final void saveAs(String fileName,
                  int format)

        Saves the current object to a specified file format in a different file.

        Parameters:
        fileName - The name of the file to be saved.
        format - The FileFormat is to be used when saving a file.
      • saveAs

        public final void saveAs(OutputStream stream,
                  int format)

        Saves the current object to a specified file format in a stream.

        Parameters:
        stream - The stream to be saved.
        format - The FileFormat is to be used.
      • convertTo

        public final void convertTo(int format)

        Converts the current object to the specified format.

        Parameters:
        format - The FileFormat to convert the current object to.
      • extractProperty

        public final MapiProperty extractProperty(byte[] entryId,
                                   long tag)

        Gets the specified property of item, without extract the item fully.

        Parameters:
        entryId - The entry id of item.
        tag - The property tag.


        If a property is not found, null is returned.
        Returns:
        The MapiProperty.
      • extractMessage

        public final MapiMessage extractMessage(MessageInfo messageInfo)

        Get the message from PST.

        Parameters:
        messageInfo - A MessageInfo object that represents information about message.
        Returns:
        A MapiMessage object.
      • extractMessage

        public final MapiMessage extractMessage(byte[] entryId)

        Get the message from PST.

        Parameters:
        entryId - EntryId of message.
        Returns:
        A MapiMessage object.
      • extractMessage

        public final MapiMessage extractMessage(String entryId)

        Get the message from PST.

        Parameters:
        entryId - String representation of EntryId.
        Returns:
        A MapiMessage object.
      • saveMessageToStream

        public final void saveMessageToStream(String entryId,
                               OutputStream stream)

        Saves the message, with specified entryID, to a stream.

        Parameters:
        entryId - The entry id.
        stream - The stream for writing.
      • getFolderById

        public final FolderInfo getFolderById(byte[] entryId)

        Gets the personal folder from PST.

        Parameters:
        entryId - The Entry id.
        Returns:
        A FolderInfo object.
      • getFolderById

        public final FolderInfo getFolderById(String entryIdString)

        Gets the personal folder from PST.

        Parameters:
        entryIdString - String representation of entry ID.
        Returns:
        A FolderInfo object.
      • findSubfolders

        public final com.aspose.ms.System.Collections.Generic.IGenericList<String> findSubfolders(String parentEntryId)

        Finds the identifiers of subfolders for for the current folder. It might be useful in case of reading corrupted pst when the GetSubfolders and EnumerateFolders methods could throw an exception.

        Parameters:
        parentEntryId - Entry id of the parent folder.
        Returns:
        Collection of entry Ids.
      • findMessages

        public final com.aspose.ms.System.Collections.Generic.IGenericList<String> findMessages(String parentEntryId)

        Finds the identifiers of messages for for the current folder. It might be useful in case of reading corrupted pst when the GetContents and EnumerateMessages methods could throw an exception.

        Parameters:
        parentEntryId - Entry id of the parent folder.
        Returns:
        Collection of entry Ids.
      • getParentFolder

        public final FolderInfo getParentFolder(String entryIdString)

        Gets the parent folder of message.

        Parameters:
        entryIdString - String representation of Entry Id of message or folder.
        Returns:
        The parent folderFolderInfo of message.
      • getParentFolder

        public final FolderInfo getParentFolder(byte[] entryId)

        Gets the parent folder of message.

        Parameters:
        entryId - Entry Id of message or folder.
        Returns:
        The parent folderFolderInfo of message.
      • getPredefinedFolder

        public final FolderInfo getPredefinedFolder(int defaultFolder)

        Gets the standard interpersonal message (IPM) folder from PST. Outlook can create a number of default folders, such as Outbox, Deleted Items, Sent Items etc.

        Parameters:
        defaultFolder - The value of StandardIpmFolder enumeration.
        Returns:
        A FolderInfo object that represents a standard IPM folder.
      • createPredefinedFolder

        public final FolderInfo createPredefinedFolder(String name,
                                        int defaultFolder,
                                        boolean createHierarchy)

        Creates the standard interpersonal message (IPM) folder.

        Parameters:
        name - The name of folder.
        defaultFolder - The value of StandardIpmFolder enumeration.
        createHierarchy - if set to true, it is possible to create a folder hierarchy using string notation. Backslash ('\') is used as path separator.
        Returns:
        A FolderInfo object that represents a standard IPM folder.
      • saveMessageToFile

        public void saveMessageToFile(String entryId,
                             String fileName)

        saveMessageToFile.

        Parameters:
        entryId - a String object.
        fileName - a String object.
      • createPredefinedFolder

        public final FolderInfo createPredefinedFolder(String name,
                                        int defaultFolder)

        Creates the standard interpersonal message (IPM) folder.

        Parameters:
        name - The name of folder.
        defaultFolder - The value of StandardIpmFolder enumeration.
        Returns:
        A FolderInfo object that represents a standard IPM folder.
      • moveItem

        public final void moveItem(MessageInfo message,
                    FolderInfo newFolder)

        Moves a specified message to a new folder within the current pst.

        Parameters:
        message - The message to move.
        newFolder - The new folder for the message.
      • moveItem

        public final void moveItem(FolderInfo folder,
                    FolderInfo newFolder)

        Moves a specified folder to a new parent folder within the current pst.

        Parameters:
        folder - The folder to move.
        newFolder - The new parent folder.
      • mergeWith

        public final void mergeWith(String[] sourceFileNames)

        Merges the pst storage with one or more other pst files. Thus, the combined files are sources.

        Parameters:
        sourceFileNames - The source file names.
        Throws:
        com.aspose.ms.System.ArgumentNullException - "Throws when the filename collection is null."
        com.aspose.ms.System.ArgumentException - "Throws when the filename in collection is null or empty."
      • mergeWith

        public final void mergeWith(InputStream[] sourceStreams)

        Merges the pst storage with one or more other pst streams. Thus, the combined stream are sources.

        Parameters:
        sourceStreams - The source streams.
        Throws:
        com.aspose.ms.System.ArgumentNullException - "Throws when the stream collection is null."
        com.aspose.ms.System.ArgumentException - "Throws when the stream in collection is null."
      • splitInto

        public final void splitInto(long chunkSize,
                     String path)

        Splits the pst storage into less sized parts.

        Parameters:
        chunkSize - The approximate size of a chunk in bytes.
        path - The folder path where chunks will be created.
        Throws:
        com.aspose.ms.System.ArgumentException - Throws when the path parameter is null or empty.
        com.aspose.ms.System.ArgumentException - Throws when the chunk size is less then the minimum size of pst file.
      • splitInto

        public final void splitInto(com.aspose.ms.System.Collections.Generic.IGenericList<MailQuery> criteria,
                     String path)

        Splits the pst storage based on criteria.

        Parameters:
        criteria - The collection of MailQuery that represents criteria of pst splitting.
        path - The folder path where chunks will be created.
        Throws:
        com.aspose.ms.System.ArgumentException - Throws when the path parameter is null or empty.
      • changeMessage

        public final void changeMessage(String entryId,
                         MapiPropertyCollection updatedProperties)

        Changes the message properties.

        Parameters:
        entryId - The entry identifier of message.
        updatedProperties - The updated properties.
        Throws:
        com.aspose.ms.System.NotImplementedException - The ANSI file version editing is not implemented.
        com.aspose.ms.System.InvalidOperationException - The PST is open for reading only. or The entryId is incorrect.
        com.aspose.ms.System.ArgumentNullException - entryIdCollection;The collection of entry ids cannot be null. or updatedProperties;The collection of properties cannot be null.
      • dispose

        public final void dispose()

        Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

        Specified by:
        dispose in interface com.aspose.ms.System.IDisposable
      • dispose

        protected void dispose(boolean disposing)

        Releases unmanaged and - optionally - managed resources.

        Parameters:
        disposing - true to release both managed and unmanaged resources; false to release only unmanaged resources.