Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## oracle.ifs.beans
Class Folder

    java.lang.Object

      |

      +--oracle.ifs.beans.LibraryObject

            |

            +--oracle.ifs.beans.TieLibraryObject

                  |

                  +--oracle.ifs.beans.PublicObject

                        |

                        +--oracle.ifs.beans.TiePublicObject

                              |

                              +--oracle.ifs.beans.Folder

All Implemented Interfaces:
  IfsEventHandler, LibraryObjectInterface, PublicObjectInterface, Traceable

Direct Known Subclasses:
  TieFolder

public class Folder
extends TiePublicObject

The Folder class represents Folders in the iFS server. A Folder can contain references to any PublicObjects.

To access PublicObjects in a folder use either the Java Beans compliant `getItems()` methods, or the cursor based `openItems(), nextItem(), closeItems()` methods.

Once the items have been fetched they will be cached locally. The local cache can be cleared by a call to `resetItems`.

The following code fragment shows how to access a folder's items:
`//get the home folder
Folder f = sess.getHomeFolder();
//sort on 'NAME'
String[] sort_attributes = {"NAME"};
//sort will be ascending
boolean [] sort_orders = {true};
SortSpecificiation sort = new SortSpecification(sort_attributes, sort_orders);
f.setSortSpecification(sort);
//get the items
PublicObject items[] = f.getItems();`

Field Summary
`static java.lang.String` | `CLASS_NAME` This class name for this class.
`static int` | `SYSTEMOPTIONVALUE_FOLDER_DEPTH_DEEPEST` FolderDepth option for Folder.delete(def).
`static int` | `SYSTEMOPTIONVALUE_FOLDER_DEPTH_MUST_BE_EMPTY` FolderDepth option for Folder.delete(def).
`static int` | `SYSTEMOPTIONVALUE_FOLDER_DEPTH_NONE` FolderDepth option for Folder.delete(def).

Fields inherited from class oracle.ifs.beans.PublicObject
`ACL_ATTRIBUTE, ADMINISTRATIONGROUP_ATTRIBUTE, CREATEDATE_ATTRIBUTE, CREATOR_ATTRIBUTE, DELETOR_ATTRIBUTE, DESCRIPTION_ATTRIBUTE, EXPIRATIONDATE_ATTRIBUTE, FAMILY_ATTRIBUTE, FLAGS_ATTRIBUTE, LASTMODIFIER_ATTRIBUTE, LASTMODIFYDATE_ATTRIBUTE, LOCKEDFORSESSION_ATTRIBUTE, LOCKSTATE_ATTRIBUTE, LOCKSTATE_HARDLOCK, LOCKSTATE_SESSIONLOCK, LOCKSTATE_SOFTLOCK, LOCKSTATE_UNLOCK, LOCKSTATE_USERLOCK, NAME_ATTRIBUTE, OWNER_ATTRIBUTE, POLICYBUNDLE_ATTRIBUTE, PROPERTYBUNDLE_ATTRIBUTE, RESOLVEDPUBLICOBJECT_ATTRIBUTE, SECURINGPUBLICOBJECT_ATTRIBUTE`

Method Summary
`void` | `addItem(PublicObject item)` Adds an item to the folder.
`void` | `addItem(PublicObject item, FolderRelationshipDefinition def)` Adds an item to the folder.
`void` | `addItems(PublicObject[] objs)` Adds an array of PublicObjects to this Folder.
`boolean` | `checkExistenceOfPublicObjectByPath(java.lang.String path)` Determines whether an item exists at the specified path relative to this Folder.
`PublicObject` | `findPublicObjectByPath(java.lang.String path)` Finds an item descending from a Folder, as specified by a file-system style path.
`int` | `getItemCount()` Gets the number of items in this Folder, including both documents and subfolders.
`PublicObject[]` | `getItems()` Gets an array containing this Folder's items.
`SortSpecification` | `getSortSpecification()` Gets the SortSpecification used for getting items from this folder.
`int` | `getSubfolderCount()` Gets the count of subfolders in this folder.
`void` | `handleEvent(IfsEvent event)` Handles the specified event.
`boolean` | `hasSubfolders()` Gets indication as to whether this folder has any subfolders in it.
`void` | `moveItems(PublicObject[] objs, Folder addToFolder)` Moves the specified array of PublicObjects from this Folder to the passed Folder.
`void` | `removeItem(PublicObject item)` Removes the first reference to an item from this Folder without altering the item.
`void` | `removeItem(PublicObject item, PublicObjectDefinition def)` Removes the first reference to an item from this Folder without altering the item.
`void` | `removeItems(PublicObject[] objs)` Removes the passed array of PublicObjects from this Folder.
`void` | `resetItems()` Clears locally cached items, including any open cursor.
`void` | `setSortSpecification(SortSpecification spec)` Sets the SortSpecification used for getting items from this folder.

Methods inherited from class oracle.ifs.beans.PublicObject
`addCategory, addRelationship, checkEffectiveAccess, checkEffectiveAccess, copy, getAcl, getAllFolderPaths, getAllFolderPaths, getAnyFolderPath, getAnyFolderPath, getCategories, getCategories, getCreateDate, getCreator, getDefaultAccessLevel, getDescription, getEffectiveAccessLevel, getEffectiveAccessLevel, getExpirationDate, getFamily, getFlags, getFolderReferencesSortSpecification, getLastModifier, getLastModifyDate, getLeftwardRelationshipObjects, getLeftwardRelationshipObjects, getLeftwardRelationships, getLeftwardRelationships, getLockedState, getLockState, getLockStateLabel, getOwner, getPolicyBundle, getPropertyBundle, getResolvedPublicObject, getRightwardRelationshipObjects, getRightwardRelationshipObjects, getRightwardRelationships, getRightwardRelationships, getSecuringPublicObject, grantAccess, hasNameAttribute, isLocked, isLockedForSession, isLockedForSessionByCurrentSession, isVersionable, isVersioned, lock, putPolicy, putProperty, putProperty, removeAllPolicies, removeAllProperties, removePolicy, removePolicy, removeProperty, removeRelationship, revokeAccess, revokeAllAccess, setAcl, setDescription, setExpirationDate, setFlags, setFolderReferencesSortSpecification, setOwner, setPolicyBundle, setPropertyBundle, setSecuringPublicObject, toLockStateLabel, toLockStateLabel, toLockStateLabel, unlock`

Methods inherited from class oracle.ifs.beans.LibraryObject
`equals, free, free, getAttribute, getAttributeByUpperCaseName, getAttributes, getAttributesByUpperCaseNames, getClassId, getClassObject, getDefinition, getId, getLabel, getName, getSession, invokeServerMethod, isInstanceOf, isTraced, lookupInstanceLabel, postEvent, postEvent, renderAsReader, renderAsStream, setAttribute, setAttribute, setAttributes, setAttributes, setName, toString, trace, update`

Methods inherited from interface oracle.ifs.common.LibraryObjectInterface
`getId`

Methods inherited from interface oracle.ifs.common.Traceable
`getTraceLogger, isTraced, trace`

Field Detail

### CLASS_NAME

    public static final java.lang.String CLASS_NAME

  This class name for this class. Useful for methods that take a class name argument.

### SYSTEMOPTIONVALUE_FOLDER_DEPTH_NONE

    public static final int SYSTEMOPTIONVALUE_FOLDER_DEPTH_NONE

  FolderDepth option for Folder.delete(def). Deletes only the folder, no referenced objects are deleted.

### SYSTEMOPTIONVALUE_FOLDER_DEPTH_DEEPEST

    public static final int SYSTEMOPTIONVALUE_FOLDER_DEPTH_DEEPEST

  FolderDepth option for Folder.delete(def). Deletes all objects referenced by this folder. If those objects are folders, the DEEPEST option is passed on to them (causing a deep delete cascade).

### SYSTEMOPTIONVALUE_FOLDER_DEPTH_MUST_BE_EMPTY

    public static final int SYSTEMOPTIONVALUE_FOLDER_DEPTH_MUST_BE_EMPTY

  FolderDepth option for Folder.delete(def). When this option is set, the delete is forbidden if the folder is not empty.

Method Detail

### resetItems

    public void resetItems()
                    throws IfsException

  Clears locally cached items, including any open cursor. Subsequent calls to `getItems` will re-fetch items from the server.
  Throws:
    `IfsException` - if closing the folder cursor fails.

### getSortSpecification

    public SortSpecification getSortSpecification()
                                           throws IfsException

  Gets the SortSpecification used for getting items from this folder.
  Returns:
    this Folder's SortSpecification.
  Throws:
    `IfsException` - if operation fails.

### setSortSpecification

    public void setSortSpecification(SortSpecification spec)
                              throws IfsException

  Sets the SortSpecification used for getting items from this folder.
  Parameters:
    `spec` - this Folder's SortSpecification
  Throws:
    `IfsException` - if operation fails.

### findPublicObjectByPath

    public PublicObject findPublicObjectByPath(java.lang.String path)
                                        throws IfsException

  Finds an item descending from a Folder, as specified by a file-system style path. For example, if the user specifies "eboa/playoff.txt" as the path, the server will search for a folder named "eboa" that is related to the target folder via a FolderPathRelationship, and if found, will look for an object named "playoff.txt" related to that folder via a FolderPathRelationship.
  Parameters:
    `path` - the folder path to the desired item.
  Throws:
    `IfsException` - if the operation fails.

### checkExistenceOfPublicObjectByPath

    public boolean checkExistenceOfPublicObjectByPath(java.lang.String path)
                                               throws IfsException

  Determines whether an item exists at the specified path relative to this Folder. If the path specified contains subfolder references, then this method returns false if any of those subfolder references are not discoverable by the caller.
  Parameters:
    `path` - the folder path to the desired item.
  Returns:
    true if an object exists at the specified path.
  Throws:
    `IfsException` - if the operation fails.

### getItemCount

    public int getItemCount()
                     throws IfsException

  Gets the number of items in this Folder, including both documents and subfolders.

  If this method is called before any calls to getItems(), the item count will be calculated via a call to the server. If this method is called after a call to getItems(), the item count is calculated from the local cache size.

  Returns:
    the item count.
  Throws:
    `IfsException` - if operation fails.

### getSubfolderCount

    public int getSubfolderCount()
                          throws IfsException

  Gets the count of subfolders in this folder. This can be used by GUIs to determine whether or not to indicate that this folder has any folders underneath it, but it is not as efficient as hasSubfolders()
  Returns:
    the subfolder item count.
  Throws:
    `IfsException` - if operation fails.
  See Also:
    `hasSubfolders()`

### hasSubfolders

    public boolean hasSubfolders()
                          throws IfsException

  Gets indication as to whether this folder has any subfolders in it. This is used by GUIs as a quick determination of whether or not to indicate that this folder contains any folders. The GUI might choose to include a plus sign in the folder's icon if there are subfolders.

  Returns:
    the subfolder item count.
  Throws:
    `IfsException` - if operation fails.

### getItems

    public PublicObject[] getItems()
                            throws IfsException

  Gets an array containing this Folder's items.
  Returns:
    the Folder's items.
  Throws:
    `IfsException` - if the operation fails.

### addItem

    public void addItem(PublicObject item)
                 throws IfsException

  Adds an item to the folder.
  Parameters:
    `item` - the item to be added.
  Throws:
    `IfsException` - if the operation fails.

### addItem

    public void addItem(PublicObject item,
                        FolderRelationshipDefinition def)
                 throws IfsException

  Adds an item to the folder.
  Parameters:
    `item` - the item to be added.
    `def` - the FolderRelationshipDefinition.
  Throws:
    `IfsException` - if the operation fails.

### removeItem

    public void removeItem(PublicObject item)
                    throws IfsException

  Removes the first reference to an item from this Folder without altering the item.
  Parameters:
    `item` - the item to be removed from the folder.
  Throws:
    `IfsException` - if the operation fails.

### removeItem

    public void removeItem(PublicObject item,
                           PublicObjectDefinition def)
                    throws IfsException

  Removes the first reference to an item from this Folder without altering the item.
  Parameters:
    `item` - the item to be removed from the folder.
    `def` - the options to be used in this operation.
  Throws:
    `IfsException` - if the operation fails.

### addItems

    public void addItems(PublicObject[] objs)
                  throws IfsException

  Adds an array of PublicObjects to this Folder.

  Note that if any of the items fail to be added due to security reasons etc. the entire operation is rolled back and none of the changes take effect.

  Parameters:
    `objs` - PublicObjects to be added.
  Throws:
    `IfsException` - if the operation fails.

### removeItems

    public void removeItems(PublicObject[] objs)
                     throws IfsException

  Removes the passed array of PublicObjects from this Folder.

  If any of the items fail to be removed due to security reasons etc. this method will rollback all operations and none of the changes take effect

  Parameters:
    `objs` - PublicObjects to be removed.
  Throws:
    `IfsException` - if the operation fails.

### moveItems

    public void moveItems(PublicObject[] objs,
                          Folder addToFolder)
                   throws IfsException

  Moves the specified array of PublicObjects from this Folder to the passed Folder.

  If any of the items fail to be moved due to security reasons etc. this method will throw an exception and roll back

  Parameters:
    `objs` - PublicObjects to be moved.
    `addToFolder` - destination Folder
  Throws:
    `IfsException` - if the operation fails.

### handleEvent

    public void handleEvent(IfsEvent event)
                     throws IfsException

  Handles the specified event.
  Overrides:
    `handleEvent` in class `PublicObject`
  Parameters:
    `event` - the event
  Throws:
    `IfsException` - if the operation fails

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD