Oracle Warehouse Builder Java API Reference
10g Release 1 (10.1)

B12155-01

oracle.owb.foundation
Interface Folder

All Superinterfaces:
Component, OWBNamedObject, Snapshotable
All Known Subinterfaces:
BaseLocation, FlatFileModule, GatewayModule, IntelligenceModule, Location, Map, Module, OracleModule, Package, ProcessFlowModule, ProcessFlowPackage, Project, ReportModule, RuntimeRepository, SAPModule, TransformationModule

public interface Folder
extends Component

A Folder is a special type of Component, which can contain other components. Examples of folders are: projects, modules, function libraries, etc.


Field Summary

 

Fields inherited from interface oracle.owb.metadatamgmt.changemgmt.Snapshotable
MAX_DEPENDENCY_DEPTH, MIN_DEPENDENCY_DEPTH

 

Method Summary
 Component findChild(java.lang.String name, ClassDefinition filterType)
          Finds the child component with the specified name and type.
 ClassDefinition[] getContentTypes()
          Returns the list of component types allowed in this folder.
 Component[] getFolderContents()
          Returns the contents of this folder as an array of components.
 Component[] getFolderContentsOfType(ClassDefinition filterType)
          Returns the components contained in this folder, which are of the specified type.
 boolean isCascadeForSnapshot()
          Returns whether the children components will be included in any Snapshot taken on this folder.
 void lockShared()
          This method attempts to aquire a shared lock on the folder.
 void lockWithContents()
          Locks this folder together with all its contained components.
 void reloadWithContents()
          Reload (synchronize) this folder, together with all its contents, from the repository.
 void setCascadeForSnapshot(boolean shouldCascade)
          Setting this flag indicates whether this Snapshotable should include all its children or not while creating snapshot.

 

Methods inherited from interface oracle.owb.foundation.Component
getOwningFolder, isReloadNeeded, lock, reload, unlock

 

Methods inherited from interface oracle.owb.foundation.OWBNamedObject
delete, getBusinessName, getClassDefinition, getComponent, getDescription, getName, getUOID, isDeletable, isEditable, isRenamable, setBusinessName, setDescription, setName

 

Methods inherited from interface oracle.owb.metadatamgmt.changemgmt.Snapshotable
compare, compare, compare, compare, createSnapshot, createSnapshot, createSnapshotWithDependeeComponents, createSnapshotWithDependeeComponents, getSnapshots

 

Method Detail

getFolderContents

public Component[] getFolderContents()
Returns the contents of this folder as an array of components.
Returns:
an array containing the contents of this folder

getFolderContentsOfType

public Component[] getFolderContentsOfType(ClassDefinition filterType)
Returns the components contained in this folder, which are of the specified type.
Parameters:
filterType - the type of the requested components
Returns:
an array with the components contained in this folder, which are of the specified type

getContentTypes

public ClassDefinition[] getContentTypes()
Returns the list of component types allowed in this folder.
Returns:
an array of class definitions representing the legal types of the components allowed in this folder

findChild

public Component findChild(java.lang.String name,
ClassDefinition filterType)
Finds the child component with the specified name and type.
Parameters:
name - the name of the requested component
filterType - the type of the requested component
Returns:
the child component if found, and null otherwise.

lockWithContents

public void lockWithContents()
                      throws LockException
Locks this folder together with all its contained components. This operation must be called before attempting to delete a folder.
Throws:
LockException - if the lock could not be obtained (because, for example, some other user already has a lock on the folder or on any of the contained components)

lockShared

public void lockShared()
                throws LockException
This method attempts to aquire a shared lock on the folder. This method must be called before creating any component in this folder, in order to prevent other users from deleting the folder (that is because the shared lock is mutually exclusive with the lock requested by lockWithContents() method). The shared locks are not mutually exclusive, so multiple users can hold shared locks on the same folder at the same time.
Throws:
LockException - if the shared lock could not be obtained

reloadWithContents

public void reloadWithContents()
Reload (synchronize) this folder, together with all its contents, from the repository. The reload may be needed because some other user may have modified it since the last time this user loaded it. This is a quite expensive operation so it should not be used unnecessarily.
See Also:
Component.reload()

setCascadeForSnapshot

public void setCascadeForSnapshot(boolean shouldCascade)
Setting this flag indicates whether this Snapshotable should include all its children or not while creating snapshot. By default this flag is true, meaning all children components are always included in Snapshot, but user can control this behavior and reset this flag to exclude children component of this Snapshotable . For example, if this is an Oracle module, and cascade is set to false, then tables, views will not be included into Snapshot, else Oracle module and all of its contained objects will be included into Snapshot. Before creating a Snapshot on this component, this method should be called to control cascade behavior.
Parameters:
shouldCascade - if true, Snapshot will include children Components, otherwise Snapshot will exclude children Components.

isCascadeForSnapshot

public boolean isCascadeForSnapshot()
Returns whether the children components will be included in any Snapshot taken on this folder.
Returns:
true if Snapshot is required to include children components, and false otherwise.
See Also:
setCascadeForSnapshot(boolean)

Oracle Warehouse Builder Java API Reference
10g Release 1 (10.1)

B12155-01

Copyright © 2003, Oracle. All Rights Reserved.