From 3769595bfb98af710dba287124c4c146e6a72bbe Mon Sep 17 00:00:00 2001 From: Avik Sengupta Date: Sat, 1 Nov 2003 02:20:06 +0000 Subject: [PATCH] getters and setters for ClassID - addendum to bug 22195, by Kirril Jacobson git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/branches/REL_2_BRANCH@353430 13f79535-47bb-0310-9956-ffa450edef68 --- .../poi/poifs/filesystem/DirectoryEntry.java | 17 +++++++++++++++ .../poi/poifs/filesystem/DirectoryNode.java | 21 +++++++++++++++++++ .../poi/poifs/filesystem/POIFSFileSystem.java | 2 ++ 3 files changed, 40 insertions(+) diff --git a/src/java/org/apache/poi/poifs/filesystem/DirectoryEntry.java b/src/java/org/apache/poi/poifs/filesystem/DirectoryEntry.java index 135a2ba4e..a85e7e9cb 100644 --- a/src/java/org/apache/poi/poifs/filesystem/DirectoryEntry.java +++ b/src/java/org/apache/poi/poifs/filesystem/DirectoryEntry.java @@ -59,6 +59,8 @@ import java.io.*; import java.util.*; +import org.apache.poi.hpsf.ClassID; + /** * This interface defines methods specific to Directory objects * managed by a Filesystem instance. @@ -160,5 +162,20 @@ public interface DirectoryEntry public DirectoryEntry createDirectory(final String name) throws IOException; + + /** + * Gets the storage clsid of the directory entry + * + * @return storage Class ID + */ + public ClassID getStorageClsid(); + + /** + * Sets the storage clsid for the directory entry + * + * @param clsidStorage storage Class ID + */ + public void setStorageClsid(ClassID clsidStorage); + } // end public interface DirectoryEntry diff --git a/src/java/org/apache/poi/poifs/filesystem/DirectoryNode.java b/src/java/org/apache/poi/poifs/filesystem/DirectoryNode.java index d7c670c25..feeb74771 100644 --- a/src/java/org/apache/poi/poifs/filesystem/DirectoryNode.java +++ b/src/java/org/apache/poi/poifs/filesystem/DirectoryNode.java @@ -59,6 +59,7 @@ import java.io.*; import java.util.*; +import org.apache.poi.hpsf.ClassID; import org.apache.poi.poifs.dev.POIFSViewable; import org.apache.poi.poifs.property.DirectoryProperty; import org.apache.poi.poifs.property.DocumentProperty; @@ -346,6 +347,26 @@ public class DirectoryNode return rval; } + /** + * Gets the storage clsid of the directory entry + * + * @return storage Class ID + */ + public ClassID getStorageClsid() + { + return getProperty().getStorageClsid(); + } + + /** + * Sets the storage clsid for the directory entry + * + * @param clsidStorage storage Class ID + */ + public void setStorageClsid(ClassID clsidStorage) + { + getProperty().setStorageClsid(clsidStorage); + } + /* ********** END implementation of DirectoryEntry ********** */ /* ********** START implementation of Entry ********** */ diff --git a/src/java/org/apache/poi/poifs/filesystem/POIFSFileSystem.java b/src/java/org/apache/poi/poifs/filesystem/POIFSFileSystem.java index 3d173aa46..3a62e3e1f 100644 --- a/src/java/org/apache/poi/poifs/filesystem/POIFSFileSystem.java +++ b/src/java/org/apache/poi/poifs/filesystem/POIFSFileSystem.java @@ -423,6 +423,8 @@ public class POIFSFileSystem DirectoryNode new_dir = ( DirectoryNode ) parent.createDirectory(name); + new_dir.setStorageClsid( property.getStorageClsid() ); + processProperties( small_blocks, big_blocks, (( DirectoryProperty ) property).getChildren(), new_dir);