Oracle Content Management SDK

oracle.ifs.adk.filesystem
Interface FileSystem

All Known Implementing Classes:
IfsFileSystem

public interface FileSystem

The FileSystem Interface allows developers to perform basic file system tasks with iFS. Developers will expect to be able to copy, move, and delete documents...etc easily.

In addition to standard file system operations (such as copy, move, and delete), this interface expects some iFS-specific features that are at the core of our product (such as versioning and searching).


Method Summary
 void addFolderRelationship(Folder folder, PublicObject po)
          Create a reference between a Folder and a PublicObject, essentially placing the PublicObject inside the Folder.
 void cancelCheckout(PublicObject po)
          Cancel a checkout.
 DirectoryUser checkedOutBy(PublicObject po)
          Return the DirectoryUser who currently has PublicObject po checked out, or null if po is not checked out.
 void checkIn(PublicObject po, java.lang.String comment)
          Implements the check-in semantics.
 PublicObject checkOut(PublicObject po, boolean makeVersioned)
          Implements the check-out semantics.
 Folder copy(Folder fromFolder, Folder toFolder, boolean recursive, AccessControlList acl)
          Copy a Folder into another Folder.
 PublicObject copy(PublicObject po, Folder folder, AccessControlList acl, boolean overwrite)
          Copy the PublicObject po into the specified folder.
 Document createDocument(java.lang.String name, java.io.InputStream content, java.lang.String folderPath, AccessControlList acl, boolean doParse, ParserCallback callback)
          Deprecated. iFS 9.0.3 use variant without parsing arguments.
 Folder createFolder(java.lang.String name, Folder destfolder, boolean createParents, AccessControlList acl)
          Create a Folder in iFS.
 void delete(Folder folder, boolean recursive)
          Delete a Folder.
 void delete(PublicObject po)
          Delete a PublicObject.
 PublicObject findPublicObjectById(java.lang.Long id)
          Returns the PublicObject having the specified id.
 PublicObject findPublicObjectByPath(java.lang.String path)
          Returns the PublicObject pointed to by path.
 AttributeValue getAttribute(PublicObject po, java.lang.String attrName)
          Return a specified attribute of a PublicObject.
 AttributeValue[] getAttributes(PublicObject po, java.lang.String[] attrNames)
          Return the specified attributes of a PublicObject.
 DirectoryUser getCurrentUser()
          Display the current user in the session.
 java.io.InputStream getDocumentContent(Document doc)
          Retrieve the content of a Document as a stream.
 VersionDescription[] getHistory(PublicObject po)
          Retrieve the revision history of the specified PublicObject.
 LibrarySession getLibrarySession()
          Return the LibrarySession object being used to communicate with iFS.
 Folder[] getParents(PublicObject po)
          Return a list of parent Folders that reference the specified PublicObject.
 boolean isCheckedOut(PublicObject po)
          Check to see if a PublicObject is currently checked out.
 boolean isVersioned(PublicObject po)
          Check to see if a PublicObject is versioned.
 PublicObject[] listFolder(Folder folder, java.lang.String pattern)
          Return the items of the specified folder whose names match pattern.
 PublicObject makeVersioned(PublicObject po)
          Convert an unversioned PublicObject into versioned PublicObject.
 PublicObject move(Folder fromFolder, Folder toFolder, PublicObject po, java.lang.String newName, AccessControlList acl, boolean overwrite)
          Move a PublicObject from fromFolder to toFolder with the new name newName; if specified.
 void removeFolderRelationship(Folder folder, PublicObject po, boolean rmNoRef)
          Removes the relationship between a Folder and a PublicObject.
 void rename(PublicObject po, java.lang.String newName)
          Rename a PublicObject.
 java.io.InputStream renderAsStream(PublicObject po, java.lang.String rendererType, java.lang.String rendererName)
          Deprecated. iFS 9.0.3 see release notes for more information
 void setAttribute(PublicObject po, java.lang.String name, AttributeValue value)
          Set an attribute for a PublicObject in iFS.
 void setAttributes(PublicObject po, java.lang.String[] names, AttributeValue[] values)
          Set attributes for a PublicObject in iFS.
 void setLibrarySession(LibrarySession session)
          Set a new LibrarySession to communicate with iFS.
 Document updateDocument(java.lang.String name, java.io.InputStream content, java.lang.String folderPath, AccessControlList acl, boolean doParse, ParserCallback callback)
          Deprecated. iFS 9.0.3 use variant without parsing arguments.
 

Method Detail


addFolderRelationship

public void addFolderRelationship(Folder folder,
                                  PublicObject po)
                           throws IfsException
Create a reference between a Folder and a PublicObject, essentially placing the PublicObject inside the Folder.

Parameters:
folder - Folder object that will contain po
po - PublicObject object
Returns:
None
Throws:
IfsException(68010) - - if a po by that name already exists in folder.

cancelCheckout

public void cancelCheckout(PublicObject po)
                    throws IfsException
Cancel a checkout. Unreserve the VersionSeries for the document.

Parameters:
po - PublicObject object to be cancelled
Returns:
None
Throws:
IfsException(68011) - - if po is not checked out.
IfsException(68012) - - if po is not versioned.

checkIn

public void checkIn(PublicObject po,
                    java.lang.String comment)
             throws IfsException
Implements the check-in semantics.

Parameters:
po - PublicObject to be checked in
comments - CheckIn comments
Returns:
None
Throws:
IfsException(68011) - - if po is not checked out.
IfsException(68012) - - if po is not versioned.

checkOut

public PublicObject checkOut(PublicObject po,
                             boolean makeVersioned)
                      throws IfsException
Implements the check-out semantics.

Returns:
PublicObject
Throws:
IfsException(68012) - - if po is not versioned.
IfsException(68014) - - if po is already checked out.

checkedOutBy

public DirectoryUser checkedOutBy(PublicObject po)
                           throws IfsException
Return the DirectoryUser who currently has PublicObject po checked out, or null if po is not checked out.

Parameters:
po - PublicObject
Returns:
DirectoryUser
Throws:
IfsException(68012) - - if po is not versioned.

copy

public PublicObject copy(PublicObject po,
                         Folder folder,
                         AccessControlList acl,
                         boolean overwrite)
                  throws IfsException
Copy the PublicObject po into the specified folder.

Parameters:
po - PublicObject to copy from
folder - Folder object to copy to
acl - ACL to be applied to the newly created copy; if null, session user's default ACL will be used
overwrite - If true, overwrite existing PublicObject in folder
Returns:
PublicObject (the new copy)
Throws:
IfsException(68010) - - if document already exists in folder.

copy

public Folder copy(Folder fromFolder,
                   Folder toFolder,
                   boolean recursive,
                   AccessControlList acl)
            throws IfsException
Copy a Folder into another Folder. If the recursive flag is True, subfolders will be copied as well.

Parameters:
fromFolder - Folder to copy from
toFolder - Folder to copy to
recursive - If True, subfolders will be copied
acl - ACL to be applied to the newly created copy of fromFolder (but not its items); if null, session user's default ACL will be used
Returns:
Folder (the toFolder)
Throws:
IfsException - - if operation failed.

createDocument

public Document createDocument(java.lang.String name,
                               java.io.InputStream content,
                               java.lang.String folderPath,
                               AccessControlList acl,
                               boolean doParse,
                               ParserCallback callback)
                        throws IfsException,
                               java.io.IOException
Deprecated. iFS 9.0.3 use variant without parsing arguments.

Create a Document in iFS.

Parameters:
name - Name of the document to be created
content - InputStream to read contents from; if null, empty document is created
folderPath - Absolute path of folder in which to create the document
acl - ACL to be assigned to the new document; if null, sess user's default ACL will be used
doParse - If 'True', input stream will be parsed using a parser which is determined based on the file extension
callback - Parser callback to be specified if doParse is 'True'
Returns:
Document (the new Document created)
Throws:
IfsException(68003) - - if folderPath is not a Folder.
IfsException(68004) - - if folderPath is not found.
IfsException(68010) - - if a document by that name already exists.

createFolder

public Folder createFolder(java.lang.String name,
                           Folder destfolder,
                           boolean createParents,
                           AccessControlList acl)
                    throws IfsException
Create a Folder in iFS.

Parameters:
name - Name of the Folder to be created; name can also be in the format of a path (relative to destFolder) if createParents is 'True' (eg. "a/b/c")
destfolder - Folder in which to create the new folder
createParents - If true, non-existing parent folders will be created
acl - ACL to be assigned to new folder(s) created; if null, session user's default ACL will be used
Returns:
Folder (the new folder created)
Throws:
IfsException - - if operation failed.

delete

public void delete(PublicObject po)
            throws IfsException
Delete a PublicObject.

Parameters:
po - PublicObject to be deleted.
Returns:
None
Throws:
IfsException - - if operation failed.

delete

public void delete(Folder folder,
                   boolean recursive)
            throws IfsException
Delete a Folder. If recursive if 'True', subfolders will be deleted.

Parameters:
folder - Folder object to be deleted
recursive - If 'True', subfolders will be deleted
Returns:
None
Throws:
IfsException(68020) - - if folder is non-empty, and recursive is 'False'.

findPublicObjectById

public PublicObject findPublicObjectById(java.lang.Long id)
                                  throws IfsException
Returns the PublicObject having the specified id.

Parameters:
id - Id of the PublicObject
Returns:
PublicObject
Throws:
IfsException - - if operation failed.

findPublicObjectByPath

public PublicObject findPublicObjectByPath(java.lang.String path)
                                    throws IfsException
Returns the PublicObject pointed to by path.

Parameters:
path - Path to the PublicObject
Returns:
PublicObject
Throws:
IfsException - - if operation failed.

getAttribute

public AttributeValue getAttribute(PublicObject po,
                                   java.lang.String attrName)
                            throws IfsException
Return a specified attribute of a PublicObject.

Parameters:
po - PublicObject from which to get the attribute
attrName - Name of the attribute
Returns:
AttributeValue
Throws:
IfsException - - if operation failed.

getAttributes

public AttributeValue[] getAttributes(PublicObject po,
                                      java.lang.String[] attrNames)
                               throws IfsException
Return the specified attributes of a PublicObject.

Parameters:
po - PublicObject from which to get the attributes
attrNames - A list of attributes to return
Returns:
An array of AttributeValue objects
Throws:
IfsException - - if operation failed.

getCurrentUser

public DirectoryUser getCurrentUser()
                             throws IfsException
Display the current user in the session.

Returns:
DirectoryUser
Throws:
IfsException - - if operation failed.

getDocumentContent

public java.io.InputStream getDocumentContent(Document doc)
                                       throws IfsException,
                                              java.io.IOException
Retrieve the content of a Document as a stream.

Parameters:
doc - Document from which to retrieve content
Returns:
InputStream
Throws:
IfsException - - if operation failed.

getHistory

public VersionDescription[] getHistory(PublicObject po)
                                throws IfsException
Retrieve the revision history of the specified PublicObject.

Parameters:
po - PublicObject from which to get history
Returns:
An array of VersionDescription objects
Throws:
IfsException(68012) - - if po is not versioned.

getLibrarySession

public LibrarySession getLibrarySession()
Return the LibrarySession object being used to communicate with iFS.

Parameters:
None -  
Returns:
LibrarySession

getParents

public Folder[] getParents(PublicObject po)
                    throws IfsException
Return a list of parent Folders that reference the specified PublicObject.

Parameters:
po - PublicObject from which to retrieve parents
Returns:
An array of Folder objects
Throws:
IfsException - - if operation failed.

isCheckedOut

public boolean isCheckedOut(PublicObject po)
                     throws IfsException
Check to see if a PublicObject is currently checked out. Return 'True' if checked out, 'False' otherwise.

Parameters:
po - PublicObject
Returns:
boolean
Throws:
IfsException(68012) - - if po is not versioned.

isVersioned

public boolean isVersioned(PublicObject po)
                    throws IfsException
Check to see if a PublicObject is versioned.

Parameters:
po - PublicObject
Returns:
boolean
Throws:
IfsException - - if operation failed.

listFolder

public PublicObject[] listFolder(Folder folder,
                                 java.lang.String pattern)
                          throws IfsException
Return the items of the specified folder whose names match pattern.

Parameters:
folder - Folder to list contents of
pattern - Filename pattern to be matched
Returns:
An array of PublicObject
Throws:
IfsException - - if operation failed.

makeVersioned

public PublicObject makeVersioned(PublicObject po)
                           throws IfsException
Convert an unversioned PublicObject into versioned PublicObject.

Parameters:
doc - Unversioned document to convert
Returns:
Document
Throws:
IfsException - - if operation failed.

move

public PublicObject move(Folder fromFolder,
                         Folder toFolder,
                         PublicObject po,
                         java.lang.String newName,
                         AccessControlList acl,
                         boolean overwrite)
                  throws IfsException
Move a PublicObject from fromFolder to toFolder with the new name newName; if specified.

Parameters:
fromFolder - Folder in which the PO belongs
toFolder - Folder to which to move PO
po - PublicObject to move
newName - New name to be assigned to the moved PO
acl - ACL to be used on the moved object; if null, acl will not be touched
overwrite - If 'True', overwrite existing PublicObject in folder
Returns:
PublicObject
Throws:
IfsException(68018) - - if po is checked out.
IfsException(68019) - - if po is an unfoldered version document.

removeFolderRelationship

public void removeFolderRelationship(Folder folder,
                                     PublicObject po,
                                     boolean rmNoRef)
                              throws IfsException
Removes the relationship between a Folder and a PublicObject. If rmNoRef is 'True', po will be deleted if there are no other relationships existing for po.

Parameters:
folder - Folder which contains a reference to po
po - PublicObject from which to remove reference
rmNoRef - If True, po will be removed when there are no more existing relationships
Returns:
None
Throws:
IfsException - - if operation failed.
See Also:
delete(PublicObject)

rename

public void rename(PublicObject po,
                   java.lang.String newName)
            throws IfsException
Rename a PublicObject.

Parameters:
po - PublicObject to be renamed
newName - New name to be assigned
Returns:
None
Throws:
IfsException(68005) - - if newName already exists.

renderAsStream

public java.io.InputStream renderAsStream(PublicObject po,
                                          java.lang.String rendererType,
                                          java.lang.String rendererName)
                                   throws IfsException
Deprecated. iFS 9.0.3 see release notes for more information

Render the object out as a stream.

Parameters:
po - PublicObject
rendererType - String
rendererName - String
Returns:
InputStream

setAttribute

public void setAttribute(PublicObject po,
                         java.lang.String name,
                         AttributeValue value)
                  throws IfsException
Set an attribute for a PublicObject in iFS.

Parameters:
po - PublicObject for which to set the attribute
name - Name of the attribute
value - Attribute value to be set
Returns:
None
Throws:
IfsException - if operation failed.

setAttributes

public void setAttributes(PublicObject po,
                          java.lang.String[] names,
                          AttributeValue[] values)
                   throws IfsException
Set attributes for a PublicObject in iFS.

Parameters:
po - PublicObject for which to set the attributes
names - Namess of the attributes
values - Attribute values to be set
Returns:
None
Throws:
IfsException - - if operation failed.

setLibrarySession

public void setLibrarySession(LibrarySession session)
                       throws IfsException
Set a new LibrarySession to communicate with iFS.

Parameters:
session - LibrarySession object
Returns:
None

updateDocument

public Document updateDocument(java.lang.String name,
                               java.io.InputStream content,
                               java.lang.String folderPath,
                               AccessControlList acl,
                               boolean doParse,
                               ParserCallback callback)
                        throws IfsException,
                               java.io.IOException
Deprecated. iFS 9.0.3 use variant without parsing arguments.

Update a document in iFS.

Parameters:
name - Name of the document
content - InputStream from which to read the document contents
folderPath - Absolute path of folder in which to update the document
acl - ACL to be assigned to the document; if null, session user's default ACL will be used
doParse - If 'True', input stream will be parsed using a parser which is determined based on the file extension
callback - Parser callback to be specified if doParse is 'True'
Returns:
Document (the updated document)
Throws:
IfsException(68003) - if folderPath is not a Folder.
IfsException(68004) - if folderPath is not found.

Oracle Content Management SDK

(c) 2002 Copyright Oracle Corporation. All rights reserved.