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

## jet.server.api
Interface ResourceManager

    public interface ResourceManager

This interface defines methods to explore the resources in the report server.

Method Summary
`java.lang.String` | `addFolder(java.lang.String userID, java.lang.String parentPath, java.util.Hashtable htFolder)` Deprecated. since version 6.1, replaced by createFolder(...) and addResourcesToFolder(...). the param "includesSubDir" of the method addResourcesToFolder(...) should be true in this case.
`VersionRecord` | `addResource(java.lang.String userID, java.lang.String folderPath, boolean isAutoConvert, java.util.Hashtable htResource, java.util.Hashtable[] permissions)` Adds a resource into a specific folder.
`VersionRecord` | `addResource(java.lang.String userID, java.lang.String folderPath, java.util.Hashtable htResource)` Deprecated. since version 6.1, replaced by addResource(String userID, String folderPath, Hashtable htResource, Hashtable[] permissions)
`VersionRecord` | `addResource(java.lang.String userID, java.lang.String folderPath, java.util.Hashtable htResource, java.util.Hashtable[] permissions)` Adds a resource into a specific folder
`java.lang.String` | `addResourcesToFolder(java.lang.String userID, java.lang.String folderPath, java.lang.String fromRealDir, boolean includesSubDir, boolean isAutoConvert, java.util.Hashtable htResource, java.util.Hashtable[] permissions)` Adds files and sub-folders into a specific folder.
`void` | `addResourcesToFolder(java.lang.String userID, java.lang.String folderPath, java.lang.String fromRealDir, boolean includesSubDir, java.util.Hashtable htResource, java.util.Hashtable[] permissions)` Adds files and sub-folders into a specific folder.
`VersionRecord` | `addResultInReport(java.lang.String userID, java.lang.String reportPath, java.util.Hashtable htResult)` Adds a result into a specific report.
`boolean` | `checkPermission(java.lang.String userID, java.lang.String resourcePath, int versionNumber, java.security.acl.Permission permission)` Checks whether the specific user has a permission on a specific version number of a resource path.
`boolean` | `checkPermission(java.lang.String userID, java.lang.String resourcePath, java.security.acl.Permission permission)` Checks whether a specific user has a permission on a specific resource path.
`java.lang.String` | `createFolder(java.lang.String userID, java.lang.String parentPath, java.lang.String folderName, java.util.Hashtable htFolder, java.util.Hashtable[] permissions)` Adds a sub-folder into a specific folder.
`java.util.Vector` | `getAllRoles(java.lang.String submitter)` Gets all roles.
`java.util.Vector` | `getAllUsers(java.lang.String submitter)` Gets all users.
`java.util.Vector<PathInfo>` | `getCatalogsInPath(java.lang.String userID, java.lang.String path)` Gets the catalogs in a resource path.
`CatalogVersionRecord` | `getCatalogVersion(java.lang.String userID, java.lang.String path, int versionNumber)` Gets a catalog version by catalog name and version number
`java.util.Vector<CatalogVersionRecord>` | `getCatalogVersions(java.lang.String userID, java.lang.String catName)` Gets the versions of a specific catalog.
`java.util.Vector<PathInfo>` | `getDashboardsInPath(java.lang.String userID, java.lang.String path)` Gets the dashboards in a resource path.
`java.util.Vector` | `getEnabledCustomFieldNames()` Gets all names of enabled custom fields.
`java.lang.String[]` | `getExtensions(java.lang.String mimeType)` Gets file extensions of the MIME type.
`java.util.Vector` | `getFileSysDirsInPath(java.lang.String userID, java.lang.String path)` Deprecated. As of version 6, replaced by getFoldersInPath().
`java.util.Vector` | `getFileSysFilesInPath(java.lang.String userID, java.lang.String path)` Deprecated. As of version 6, it was obsolete.
`java.util.Vector<PathInfo>` | `getFoldersInPath(java.lang.String userID, java.lang.String path)` Gets the folders in a resource path.
`java.lang.String` | `getHistDir()` Gets the directory which result versions are saved to.
`java.lang.String` | `getHistFile(java.lang.String file)` Gets the history file directory path.
`java.util.Vector` | `getImagesByCatalog(java.lang.String userID, java.lang.String path)` Gets the image files in the resource path.
`java.lang.String` | `getInheritedLinkedCatalog(java.lang.String userID, java.lang.String path)` Gets inherited linked catalog.
`java.util.Hashtable[]` | `getInheritedPermissions(java.lang.String userID, java.lang.String path, int versionNumber)` Gets the inherited permissions of the users attached to the specific path.
`int` | `getLatestVersionNumber(java.lang.String resourcePath)` Gets the latest version number of a specific resource.
`int` | `getLatestVersionNumber(java.lang.String resourcePath, java.lang.String userID)` Gets the latest version number of a specific resource.
`java.util.Vector<PathInfo>` | `getLCsInPath(java.lang.String userID, java.lang.String path)` Gets the LCs in a resource path.
`LCVersionRecord` | `getLCVersion(java.lang.String userID, java.lang.String path, int versionNumber)` Gets an LC version by LC name and version number
`java.util.Vector<LCVersionRecord>` | `getLCVersions(java.lang.String userID, java.lang.String lcName)` Gets the versions of a specific LC.
`java.lang.String` | `getMIMEType(java.lang.String extName)` Gets the MIME type of a file extension.
`PathInfo` | `getPathInfo(java.lang.String userID, java.lang.String path)` Gets PathInfo for a specific user.
`java.util.Hashtable[]` | `getPermissions(java.lang.String userID, java.lang.String path, int versionNumber)` Gets the defined permissions of the users attached to the specific path.
`java.lang.String` | `getRealm()` Gets the active realm.
`java.lang.String` | `getRealmDir()` Gets the directory of the active realm.
`java.lang.String` | `getRealPathOfNode(java.lang.String userID, java.lang.String path)` Gets the real path property of a node, which is specified by path.
`java.util.Vector` | `getReferGroups(java.lang.String userID)` Gets the groups which the specific user belongs to.
`java.util.Vector` | `getReferRoles(java.lang.String userID)` Gets the roles which the specific user belongs to.
`java.util.Vector` | `getReferUsers(java.lang.String userID)` Gets the users which belong to the same role as the specific user.
`java.util.Vector` | `getReports(java.lang.String userID, java.lang.String catalog)` Deprecated. As of version 6, replaced by getReportsInPath().
`java.util.Vector<PathInfo>` | `getReportsInPath(java.lang.String userID, java.lang.String path)` Gets the reports in a resource path.
`ReportVersionRecord` | `getReportVersion(java.lang.String userID, java.lang.String rptPath, int versionNumber)` Gets a version of a specific report by version number.
`java.util.Vector<ReportVersionRecord>` | `getReportVersions(java.lang.String userID, java.lang.String rptName)` Gets the versions of a specific report.
`java.io.InputStream` | `getResourceTreeInputStream(java.lang.String userID, int streamType, java.lang.String[] roots, java.lang.String[] suffixes, java.util.Locale locale)` Gets resource tree XML input stream.
`java.io.InputStream` | `getResourceTreeInputStream(java.lang.String userID, java.lang.String... pathPrefix)` Gets resource tree XML input stream.
`java.io.InputStream` | `getResourceTreeInputStreamByType(java.lang.String userID, int streamType, java.lang.String... pathPrefix)` Gets resource tree XML input stream.
`ResultVersionRecord` | `getResultDocVersion(java.lang.String userID, java.lang.String resultDocName, int versionNumber)` Gets a version of a specific result doc by version number.
`java.util.Vector<ResultVersionRecord>` | `getResultDocVersions(java.lang.String userID, java.lang.String resultDocName)` Gets the versions of a specific result.
`int` | `getResultMaxVersionAmount(java.lang.String userID, java.lang.String reportResource)` Gets the maximum number of versions of a specific report's results.
`java.util.Vector` | `getResultsInPath(java.lang.String userID, java.lang.String path)` Gets the results in a resource path.
`ResultVersionRecord` | `getResultVersion(java.lang.String userID, java.lang.String rptName, int versionNumber)` Gets a result version attached to a specific report by version number.
`ResultVersionRecord` | `getResultVersionByNodeID(java.lang.String recordID)` Gets a result version by node id
`java.util.Vector<ResultVersionRecord>` | `getResultVersions(java.lang.String userID, java.lang.String rptName)` Gets the result versions attached to a specific report.
`java.util.Vector` | `getRolesByUser(java.lang.String submitter, java.lang.String userID)` Gets the roles which the specific user has.
`java.lang.String` | `getRoot()` Gets the resource root directory of the report server.
`java.lang.String` | `getRootNodeDisplay(java.util.Locale locale)` Get "Root" node's display text on UI for specified locale.
`java.lang.String` | `getSchedulePath()` Gets the path of the Schedule.
`java.util.Vector<PathInfo>` | `getSubnodes(java.lang.String userID, java.lang.String path)` Gets the sub-nodes of a resource node in the resource tree.
`java.util.Vector` | `getSubpaths(java.lang.String userID, java.lang.String path)` Deprecated. As of version 6, replaced by getFoldersInPath().
`java.util.Vector<PathInfo>` | `getSubpathsAndCatalogs(java.lang.String userID, java.lang.String path)` Gets the sub-paths of a resource path and catalogs.
`java.lang.String` | `getTempDir()` Gets the temporary directory of the server.
`java.util.Vector` | `getUsersByRole(java.lang.String submitter, java.lang.String roleID)` Gets the users who have the specific role.
`VersionRecord` | `getVersion(java.lang.String userID, java.lang.String resourcePath, int versionNumber)` Gets a resource version by resource name and version number
`boolean` | `isAdminUser(java.lang.String userID)` Checks if a user is an administrator.
`boolean` | `isCatalogLinked(java.lang.String userID, java.lang.String path)` Checks whether the catalog is linked.
`boolean` | `isNodeExist(java.lang.String path, java.lang.String userName)` Checks whether or not the specified node exists.
`boolean` | `isOrganizationAdminUser(java.lang.String userID)` Checks if a user is an administrator of an organization.
`void` | `loadUserResAliasToMem(java.lang.String userID)` Loads resource alias of a user from database and saves them into memory.
`java.lang.String` | `refreshFolders(java.lang.String userID)` Deprecated. reference `#getResourceTreeInputStream(String)`
`void` | `removeNode(java.lang.String userID, java.lang.String path)` Removes the specific node which is indicated by path.
`void` | `removeVersion(java.lang.String userID, java.lang.String versionID)` Removes a specific version.
`void` | `rmUserResAliasFromMem(java.lang.String userID)` Removes resource alias of a user from memory.
`void` | `setNodeProperties(java.lang.String userID, java.lang.String path, java.util.Hashtable htProps, java.util.Hashtable[] permissions)` Sets the properties and permissions of the users for a specific path.
`void` | `setNodeProperties(java.lang.String userID, java.lang.String path, int versionNumber, java.util.Hashtable htProps, java.util.Hashtable[] permissions)` Sets the properties and permissions of the users for a specific version of path.
`void` | `setPermissions(java.lang.String userID, java.lang.String path, int versionNumber, java.util.Hashtable[] permissions)` Sets the permissions of users for a specific path.
`void` | `setResultMaxVersionAmount(java.lang.String userID, java.lang.String reportResource, int maxVersionAmount)` Sets the maximum number of versions of a specific report's results.
`void` | `setResultVersionProperties(java.lang.String userID, java.lang.String report, int versionNumber, java.util.Hashtable htProps)` Sets the properties of the users for a specific result version of report.

Method Detail

### getMIMEType

    java.lang.String getMIMEType(java.lang.String extName)

  Gets the MIME type of a file extension.

  Parameters:
    `extName` - the file extension.
  Returns:
    the MIME type of a file extension.

### getExtensions

    java.lang.String[] getExtensions(java.lang.String mimeType)

  Gets file extensions of the MIME type.

  Parameters:
    `mimeType` - the MIME type.
  Returns:
    file extensions of the MIME type.

### getRealm

    java.lang.String getRealm()

  Gets the active realm.

  Returns:
    the active realm.

### getRealmDir

    java.lang.String getRealmDir()

  Gets the directory of the active realm.

  Returns:
    the directory of the active realm.

### getTempDir

    java.lang.String getTempDir()

  Gets the temporary directory of the server.

  Returns:
    the temporary directory of the server.

### getHistDir

    java.lang.String getHistDir()

  Gets the directory which result versions are saved to.

  Returns:
    the directory which result versions are saved to.

### getRoot

    java.lang.String getRoot()

  Gets the resource root directory of the report server.

  Returns:
    the resource root directory of the report server.

### getPathInfo

    PathInfo getPathInfo(java.lang.String userID,
                         java.lang.String path)
                         throws RptServerException

  Gets PathInfo for a specific user.

  Parameters:
    `userID` - the user ID.
    `path` - the resource path, for example, /SunVMDemo.
  Returns:
    the PathInfo.
  Throws:
    `RptServerException` - if an `RptServerException` occurs.
  See Also:
    `PathInfo`

### getSubpaths

    java.util.Vector getSubpaths(java.lang.String userID,
                                 java.lang.String path)
                                 throws RptServerException

  Deprecated. As of version 6, replaced by getFoldersInPath().

  Gets the sub-paths of a resource path. The sub-paths mean non-leaf resource sub-nodes (except catalogs) and sub-directories.

  Parameters:
    `userID` - the user ID.
    `path` - the resource path, for example, /SunVMDemo.
  Returns:
    the sub-paths of a resource path. The `Vector` contains PathInfo objects.
  Throws:
    `RptServerException` - if an `RptServerException` occurs.
  See Also:
    `PathInfo`

### getSubpathsAndCatalogs

    java.util.Vector<PathInfo> getSubpathsAndCatalogs(java.lang.String userID,
                                                      java.lang.String path)
                                                      throws RptServerException

  Gets the sub-paths of a resource path and catalogs.

  Parameters:
    `userID` - the user ID.
    `path` - the resource path, for example, /SunVMDemo.
  Returns:
    the sub-paths of a resource path and catalogs. The Vector contains PathInfo objects.
  Throws:
    `RptServerException` - if an `RptServerException` occurs.
  See Also:
    `PathInfo`

### getSubnodes

    java.util.Vector<PathInfo> getSubnodes(java.lang.String userID,
                                           java.lang.String path)
                                           throws RptServerException

  Gets the sub-nodes of a resource node in the resource tree.

  Parameters:
    `userID` - the user ID.
    `path` - the resource node, for example, /SunVMDemo.
  Returns:
    the sub-nodes of a resource node in the resource tree. The `Vector` contains `PathInfo` objects.
  Throws:
    `RptServerException` - if an `RptServerException` occurs.
  See Also:
    `PathInfo`

### getCatalogsInPath

    java.util.Vector<PathInfo> getCatalogsInPath(java.lang.String userID,
                                                 java.lang.String path)
                                                 throws RptServerException

  Gets the catalogs in a resource path.

  Parameters:
    `userID` - the user ID.
    `path` - the resource path, for example, /SunVMDemo.
  Returns:
    the catalogs in a resource path. The `Vector` contains `PathInfo` objects.
  Throws:
    `RptServerException` - if an `RptServerException` occurs.
  See Also:
    `PathInfo`

### getLCsInPath

    java.util.Vector<PathInfo> getLCsInPath(java.lang.String userID,
                                            java.lang.String path)
                                            throws RptServerException

  Gets the LCs in a resource path.

  Parameters:
    `userID` - the user ID.
    `path` - the resource path, for example, /COMPONSNET_LIB/SunVMDemo.
  Returns:
    the LCs in a resource path. The `Vector` contains `PathInfo` objects.
  Throws:
    `RptServerException` - if an `RptServerException` occurs.
  See Also:
    `V10.1`

### getFileSysDirsInPath

    java.util.Vector getFileSysDirsInPath(java.lang.String userID,
                                          java.lang.String path)
                                          throws RptServerException

  Deprecated. As of version 6, replaced by getFoldersInPath().

  Gets the sub-directories in a resource path.

  Parameters:
    `userID` - the user ID.
    `path` - the resource path, for example, /SunVMDemo.
  Returns:
    the sub-directories in a resource path. The `Vector` contains `PathInfo` objects.
  Throws:
    `RptServerException` - if an `RptServerException` occurs.
  See Also:
    `PathInfo`

### getFileSysFilesInPath

    java.util.Vector getFileSysFilesInPath(java.lang.String userID,
                                           java.lang.String path)
                                           throws RptServerException

  Deprecated. As of version 6, it was obsolete.

  Gets the files in a resource path.

  Parameters:
    `userID` - the user ID.
    `path` - the resource path, for example, /SunVMDemo.
  Returns:
    the files in a resource path. The `Vector` contains `PathInfo` objects.
  Throws:
    `RptServerException` - if an `RptServerException` occurs.
  See Also:
    `PathInfo`

### getReports

    java.util.Vector getReports(java.lang.String userID,
                                java.lang.String catalog)
                                throws RptServerException

  Deprecated. As of version 6, replaced by getReportsInPath().

  Gets the reports of a catalog.

  Parameters:
    `userID` - the user ID.
    `catalog` - the catalog, for example, /SunVMDemo/SunVMDemo.cat.
  Returns:
    the reports of a catalog. The `Vector` contains `PathInfo` objects.
  Throws:
    `RptServerException` - if an `RptServerException` occurs.
  See Also:
    `PathInfo`

### getSchedulePath

    java.lang.String getSchedulePath()

  Gets the path of the Schedule.

  Returns:
    the path of the Schedule.

### getHistFile

    java.lang.String getHistFile(java.lang.String file)

  Gets the history file directory path.

  Parameters:
    `file` - the file.
  Returns:
    the history file.

### getReportsInPath

    java.util.Vector<PathInfo> getReportsInPath(java.lang.String userID,
                                                java.lang.String path)
                                                throws NoPrivilegeException,
                                                       UnknownResource

  Gets the reports in a resource path.

  Parameters:
    `userID` - the user ID.
    `path` - the resource path, for example, /SunVMDemo.
  Returns:
    the reports in a resource path. The `Vector` contains `PathInfo` objects.
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if no node can be found by the path .
  Since:
    version 6
  See Also:
    `PathInfo`

### getDashboardsInPath

    java.util.Vector<PathInfo> getDashboardsInPath(java.lang.String userID,
                                                   java.lang.String path)
                                                   throws NoPrivilegeException,
                                                          UnknownResource

  Gets the dashboards in a resource path.

  Parameters:
    `userID` - the user ID.
    `path` - the resource path, for example, /SunVMDemo.
  Returns:
    the dashboards in a resource path. The `Vector` contains `PathInfo` objects.
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if no node can be found by the path.
  Since:
    version 10.1
  See Also:
    `PathInfo`

### getImagesByCatalog

    java.util.Vector getImagesByCatalog(java.lang.String userID,
                                        java.lang.String path)
                                        throws NoPrivilegeException,
                                               UnknownResource

  Gets the image files in the resource path.

  Parameters:
    `userID` - the user ID.
    `catalog` - the full catalog path, for example, /SunVMDemo/SunVMDemo.cat.
  Returns:
    the image files in the resource path. The `Vector` contains `PathInfo` objects.
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if no node can be found by the path.
  Since:
    version 8.2
  See Also:
    `PathInfo`

### getResultsInPath

    java.util.Vector getResultsInPath(java.lang.String userID,
                                      java.lang.String path)
                                      throws NoPrivilegeException,
                                             UnknownResource

  Gets the results in a resource path.

  Parameters:
    `userID` - the user ID.
    `path` - the resource path, for example, /SunVMDemo.
  Returns:
    the results in a resource path. The `Vector` contains `PathInfo` objects.
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if no node can be found by the path .
  Since:
    version 6
  See Also:
    `PathInfo`

### getFoldersInPath

    java.util.Vector<PathInfo> getFoldersInPath(java.lang.String userID,
                                                java.lang.String path)
                                                throws NoPrivilegeException,
                                                       UnknownResource

  Gets the folders in a resource path.

  Parameters:
    `userID` - the user ID.
    `path` - the resource path, for example, /SunVMDemo.
  Returns:
    the folders in a resource path. The `Vector` contains `PathInfo` objects.
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if no node can be found by the path.
  Since:
    version 6
  See Also:
    `PathInfo`

### getCatalogVersions

    java.util.Vector<CatalogVersionRecord> getCatalogVersions(java.lang.String userID,
                                                              java.lang.String catName)
                                                              throws NoPrivilegeException,
                                                                     UnknownResource

  Gets the versions of a specific catalog.

  Parameters:
    `userID` - the user ID.
    `catName` - the catalog name, for example, /SampleReports/Tutorail.cat.
  Returns:
    the versions of a catalog. The Vector object contains `CatalogVersionRecord` objects.
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if no node can be found by the path.
  Since:
    version 6
  See Also:
    `CatalogVersionRecord`

### getLCVersions

    java.util.Vector<LCVersionRecord> getLCVersions(java.lang.String userID,
                                                    java.lang.String lcName)
                                                    throws NoPrivilegeException,
                                                           UnknownResource

  Gets the versions of a specific LC.

  Parameters:
    `userID` - the user ID,
    `lcName` - the LC name, for example, /COMPONENT_LIB/Tutorail.lc.
  Returns:
    the versions of a LC. The Vector object contains `LCVersionRecord` objects.
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if no node can be found by the path
  Since:
    version 10.1
  See Also:
    `LCVersionRecord`

### getReportVersions

    java.util.Vector<ReportVersionRecord> getReportVersions(java.lang.String userID,
                                                            java.lang.String rptName)
                                                            throws NoPrivilegeException,
                                                                   UnknownResource

  Gets the versions of a specific report.

  Parameters:
    `userID` - the user ID,
    `rptName` - the report name, for example, /SampleReports/CustomerAnalysis.cls.
  Returns:
    the versions of a report. The Vector object contains `ReportVersionRecord` objects.
  Throws:
    `NoPrivilegeException` - if a `NoPrivilegeException` occurs.
    `UnknownResource` - if no node can be found by the path
  Since:
    version 6
  See Also:
    `ReportVersionRecord`

### getResultVersions

    java.util.Vector<ResultVersionRecord> getResultVersions(java.lang.String userID,
                                                            java.lang.String rptName)
                                                            throws NoPrivilegeException,
                                                                   UnknownResource

  Gets the result versions attached to a specific report.

  Parameters:
    `userID` - the user ID,
    `rptName` - the report name, for example, /SampleReports/CustomerAnalysis.cls.
  Returns:
    the result versions of a report. The Vector object contains `ResultVersionRecord` objects.
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if no node can be found by the path
  Since:
    version 6
  See Also:
    `ResultVersionRecord`

### getResultDocVersions

    java.util.Vector<ResultVersionRecord> getResultDocVersions(java.lang.String userID,
                                                               java.lang.String resultDocName)
                                                               throws NoPrivilegeException,
                                                                      UnknownResource

  Gets the versions of a specific result.

  Parameters:
    `userID` - the user ID,
    `resultDocName` - the result name, for example, /SampleReports/resultdoc1.
  Returns:
    the versions of a result. The Vector object contains `ResultVersionRecord` objects.
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if no node can be found by the path
  Since:
    version 6
  See Also:
    `ResultVersionRecord`

### getCatalogVersion

    CatalogVersionRecord getCatalogVersion(java.lang.String userID,
                                           java.lang.String path,
                                           int versionNumber)
                                           throws NoPrivilegeException,
                                                  UnknownResource

  Gets a catalog version by catalog name and version number

  Parameters:
    `userID` - the user ID,
    `path` - the catalog path, for example, /SampleReports/Tutorail.cat.
    `versionNumber` - the version number
  Returns:
    the version of specific catalog, a `CatalogVersionRecord` object. or null if it cannot get the specific version
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if no node can be found by the path
  Since:
    version 6
  See Also:
    `CatalogVersionRecord`

### getVersion

    VersionRecord getVersion(java.lang.String userID,
                             java.lang.String resourcePath,
                             int versionNumber)
                             throws NoPrivilegeException,
                                    UnknownResource

  Gets a resource version by resource name and version number

  Parameters:
    `userID` - the user ID,
    `resourcePath` - the resource path, for example, /COMPONENT_LIB/Test.lc.
    `versionNumber` - the version number
  Returns:
    the version of specific LC, a `VersionRecord` object. or null if it cannot get specific version
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if no node can be found by the path
  Since:
    version 10.1
  See Also:
    `VersionRecord`

### getLCVersion

    LCVersionRecord getLCVersion(java.lang.String userID,
                                 java.lang.String path,
                                 int versionNumber)
                                 throws NoPrivilegeException,
                                        UnknownResource

  Gets an LC version by LC name and version number

  Parameters:
    `userID` - the user ID,
    `path` - the LC path, for example, /COMPONENT_LIB/Test.lc.
    `versionNumber` - the version number
  Returns:
    the version of a specific LC, a `LCVersionRecord` object. or null if it cannot get the specific version
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if no node can be found by the path
  Since:
    version 10.1
  See Also:
    `LCVersionRecord`

### getReportVersion

    ReportVersionRecord getReportVersion(java.lang.String userID,
                                         java.lang.String rptPath,
                                         int versionNumber)
                                         throws NoPrivilegeException,
                                                UnknownResource

  Gets a version of a specific report by version number.

  Parameters:
    `userID` - the user ID,
    `rptPath` - the report path, for example, /SampleReports/CustomerAnalysis.cls.
    `versionNumber` - the version number
  Returns:
    a `ReportVersionRecord` object. or null if it cannot get the specific version
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if no node can be found by the path
  Since:
    version 6
  See Also:
    `ReportVersionRecord`

### getResultVersion

    ResultVersionRecord getResultVersion(java.lang.String userID,
                                         java.lang.String rptName,
                                         int versionNumber)
                                         throws NoPrivilegeException,
                                                UnknownResource

  Gets a result version attached to a specific report by version number.

  Parameters:
    `userID` - the user ID,
    `rptName` - the report name, for example, /SampleReports/CustomerAnalysis.cls.
    `versionNumber` - the version number
  Returns:
    a `ResultVersionRecord` object. or null if it cannot get the specific version
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if no node can be found by the path
  Since:
    version 6
  See Also:
    `ResultVersionRecord`

### getResultVersionByNodeID

    ResultVersionRecord getResultVersionByNodeID(java.lang.String recordID)
                                                 throws NoPrivilegeException,
                                                        UnknownResource

  Gets a result version by node id

  Parameters:
    `recordID` - the node id
  Returns:
    ResultVersionRecord
  Throws:
    `NoPrivilegeException`
    `UnknownResource`
  Since:
    version 6
  See Also:
    `ResultVersionRecord`

### getResultDocVersion

    ResultVersionRecord getResultDocVersion(java.lang.String userID,
                                            java.lang.String resultDocName,
                                            int versionNumber)
                                            throws NoPrivilegeException,
                                                   UnknownResource

  Gets a version of a specific result doc by version number.

  Parameters:
    `userID` - the user ID,
    `resultDocName` - the result doc name, for example, /SampleReports/resultdoc1.
    `versionNumber` - the version number
  Returns:
    a `ResultVersionRecord` object. or null if it cannot get the specific version
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if no node can be found by the path
  Since:
    version 6
  See Also:
    `ResultVersionRecord`

### setResultMaxVersionAmount

    void setResultMaxVersionAmount(java.lang.String userID,
                                   java.lang.String reportResource,
                                   int maxVersionAmount)
                                   throws NoPrivilegeException,
                                          UnknownResource

  Sets the maximum number of versions of a specific report's results.

  Parameters:
    `userID` - the user ID.
    `reportResource` - the report resource name, for example, /SampleReports/CustomerAnalysis.cls
    `maxVersionAmount` - the maximum number of versions value. If it is 0 or a negative value, the version amount of the specific resource is unlimited.
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if no node can be found by the path
  Since:
    version 6

### getResultMaxVersionAmount

    int getResultMaxVersionAmount(java.lang.String userID,
                                  java.lang.String reportResource)
                                  throws NoPrivilegeException,
                                         UnknownResource

  Gets the maximum number of versions of a specific report's results.

  Parameters:
    `userID` - the user ID.
    `reportResource` - the report resource name, for example, /SampleReports/CustomerAnalysis.cls
  Returns:
    the maximum number of versions value. If it is 0, the number of versions of the specific resource is unlimited. If it is -1, some error occurred.
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if no node can be found by the path
  Since:
    version 6

### removeNode

    void removeNode(java.lang.String userID,
                    java.lang.String path)
                    throws NoPrivilegeException,
                           UnknownResource

  Removes the specific node which is indicated by path.

  Parameters:
    `userID` - the user ID.
    `path` - the path from which the resource will be removed.
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if no node can be found by the path

### addResource

    VersionRecord addResource(java.lang.String userID,
                              java.lang.String folderPath,
                              java.util.Hashtable htResource)
                              throws NoPrivilegeException,
                                     NodeExistsException,
                                     UnknownResource

  Deprecated. since version 6.1, replaced by addResource(String userID, String folderPath, Hashtable htResource, Hashtable[] permissions)

  Adds a resource into a specific folder.

  Parameters:
    `userID` - the user ID
    `folderPath` - the path of the folder in which a new resource will be added
    `htResource` - a `Hashtable` that contains attributes of the new resource. These attributes can be indicated by some defined constants in APIConst, for example, `TAG_NODE_NAME, TAG_RESOURCE_TYPE, TAG_DEFINE_PERMISSION`, etc.
  Returns:
    a `VersionRecord` object to represent a resource version that was just added, or null if it failed to add the resource.
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `NodeExistsException` - if a NodeExistsException occurs.
    `UnknownResource` - if no node can be found by the path

### addResource

    VersionRecord addResource(java.lang.String userID,
                              java.lang.String folderPath,
                              java.util.Hashtable htResource,
                              java.util.Hashtable[] permissions)
                              throws NoPrivilegeException,
                                     NodeExistsException,
                                     UnknownResource

  Adds a resource into a specific folder

  Parameters:
    `userID` - the user ID
    `folderPath` - the path of the folder in which a new resource will be added.
    `htResource` - a `Hashtable` that contains attributes of the new resource. These attributes can be indicated by some defined constants in APIConst, for example, TAG_NODE_NAME, TAG_RESOURCE_TYPE, etc.
    `permissions` - a `Hashtable` array, which may contain three `Hashtable` objects.
    The first `Hashtable` contains several user/permissions pairs to represent the permissions attached to the specific path. In this `Hashtable` object, the key is user name, the value is a `Vector` object which contains all permissions (e.g. `jet.server.api.Permissions.P_READ`) that the user has on the specific path.
    The second `Hashtable` object contains several role/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.
    The third `Hashtable` object contains several group/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.
    The structure of Hashtable[] permissions is:
    - <permissionHashtableArray> ::= <userPermissionHt> <rolePermissionHt> <groupPermissionHt>
    - <userPermissionHt> ::= NULL | {<userName>, <permissionVector>}...
    - <rolePermissionHt> ::= NULL | {<roleName>, <permissionVector>}...
    - <groupPermissionHt> ::= NULL | (<groupName>, <permissionVector>)...
    - <userName> ::= a string of user name
    - <roleName> ::= a string of role name
    - <groupName> ::= a string of group name
    - <permissionVector> ::= <zero-sized Vector> | {<visible> | <read> | <write> | <delete> | <execute> | <schedule> | <grant>}...
      - <zero-sized Vector> ::= a vector object contains nothing
      - <visible> ::= object `Permissions.P_VISIBLE`
      - <read> ::= object `Permissions.P_READ`
      - <write> ::= object `Permissions.P_WRITE`
      - <delete> ::= object `Permissions.P_DELETE`
      - <execute> ::= object `Permissions.P_EXECUTE`
      - <schedule> ::= object `Permissions.P_SCHEDULE`
      - <grant> ::= object `Permissions.P_GRANT`
  Returns:
    a `VersionRecord` object to represent a resource version that was just added, or null if failed to add the resource.
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `NodeExistsException` - if a NodeExistsException occurs.
    `UnknownResource` - if no node can be found by the path

### addResource

    VersionRecord addResource(java.lang.String userID,
                              java.lang.String folderPath,
                              boolean isAutoConvert,
                              java.util.Hashtable htResource,
                              java.util.Hashtable[] permissions)
                              throws NoPrivilegeException,
                                     NodeExistsException,
                                     UnknownResource

  Adds a resource into a specific folder.

  Parameters:
    `userID` - the user ID
    `folderPath` - the path of the folder in which a new resource will be added
    `isAutoConvert` - whether to convert the old version report to the latest version report
    `htResource` - a `Hashtable` that contains attributes of the new resource. These attributes can be indicated by some defined constants in APIConst, for example, TAG_NODE_NAME, TAG_RESOURCE_TYPE, etc.
    `permissions` - a `Hashtable` array, which may contain three `Hashtable` objects.
    The first `Hashtable` contains several user/permissions pairs to represent the permissions attached to the specific path. In this `Hashtable` object, the key is user name, the value is a `Vector` object which contains all permissions (e.g. `jet.server.api.Permissions.P_READ`) that the user has on the specific path.
    The second `Hashtable` object contains several role/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.
    The third `Hashtable` object contains group/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.
    The structure of Hashtable[] permissions is:
    - <permissionHashtableArray> ::= <userPermissionHt> <rolePermissionHt> <groupPermissionHt>
    - <userPermissionHt> ::= NULL | {<userName>, <permissionVector>}...
    - <rolePermissionHt> ::= NULL | {<roleName>, <permissionVector>}...
    - <groupPermissionHt> ::= NULL | (<groupName>, <permissionVector>)...
    - <userName> ::= a string of user name
    - <roleName> ::= a string of role name
    - <groupName> ::= a string of group name
    - <permissionVector> ::= <zero-sized Vector> | {<visible> | <read> | <write> | <delete> | <execute> | <schedule> | <grant>}...
      - <zero-sized Vector> ::= a vector object contains nothing
      - <visible> ::= object `Permissions.P_VISIBLE`
      - <read> ::= object `Permissions.P_READ`
      - <write> ::= object `Permissions.P_WRITE`
      - <delete> ::= object `Permissions.P_DELETE`
      - <execute> ::= object `Permissions.P_EXECUTE`
      - <schedule> ::= object `Permissions.P_SCHEDULE`
      - <grant> ::= object `Permissions.P_GRANT`
  Returns:
    a `VersionRecord` object to represent a resource version that was just added, or null if failed to add the resource.
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `NodeExistsException` - if a NodeExistsException occurs.
    `UnknownResource` - if no node can be found by the path

### addResultInReport

    VersionRecord addResultInReport(java.lang.String userID,
                                    java.lang.String reportPath,
                                    java.util.Hashtable htResult)
                                    throws NoPrivilegeException,
                                           UnknownResource

  Adds a result into a specific report.

  Parameters:
    `userID` - the user ID
    `reportPath` - the path of the specified report in which a new result will be added
    `htResult` - a `Hashtable` that contains attributes of the new result. These attributes can be indicated by some defined constants in `APIConst`, for example, `TAG_NODE_NAME, TAG_RESOURCE_TYPE, TAG_DEFINE_PERMISSION`, etc.
  Returns:
    a `VersionRecord` object to represent a result version that was just added, or null if failed to add the result.
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if no node can be found by the path

### addFolder

    java.lang.String addFolder(java.lang.String userID,
                               java.lang.String parentPath,
                               java.util.Hashtable htFolder)
                               throws NoPrivilegeException,
                                      NodeExistsException,
                                      UnknownResource

  Deprecated. since version 6.1, replaced by createFolder(...) and addResourcesToFolder(...). the param "includesSubDir" of the method addResourcesToFolder(...) should be true in this case.

  Adds a sub-folder into a specific folder.

  Parameters:
    `userID` - the user ID
    `parentPath` - the path of the folder in which a new resource will be added
    `htFolder` - a `Hashtable` that contains attributes of the new folder. These attributes can be indicated by some defined constants in `APIConst`, for example, `TAG_NODE_NAME, TAG_DEFINE_PERMISSION`, etc.
  Returns:
    the new folder's absolutePath, or null if failed to add the sub-folder.
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `NodeExistsException` - if a NodeExistsException occurs.
    `UnknownResource` - if no node can be found by the path

### createFolder

    java.lang.String createFolder(java.lang.String userID,
                                  java.lang.String parentPath,
                                  java.lang.String folderName,
                                  java.util.Hashtable htFolder,
                                  java.util.Hashtable[] permissions)
                                  throws NoPrivilegeException,
                                         NodeExistsException,
                                         UnknownResource

  Adds a sub-folder into a specific folder.

  Parameters:
    `userID` - the user ID
    `parentPath` - the path to specify in which folder the new resource will be added
    `folderName` - the name of the new folder
    `htFolder` - a `Hashtable` that contains attributes of the new folder. These attributes can be indicated by some defined constants in `APIConst`, for example, TAG_NODE_DESC, etc.
    `permissions` - a `Hashtable` array, which may contain three `Hashtable` objects.
    The first `Hashtable` contains several user/permissions pairs to represent the permissions attached to the specific path. In this `Hashtable` object, the key is user name, the value is a `Vector` object which contains all permissions (e.g. `jet.server.api.Permissions.P_READ`) that the user has on the specific path.
    The second `Hashtable` object contains several role/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.
    The third `Hashtable` object contains several group/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.
    The structure of Hashtable[] permissions is:
    - <permissionHashtableArray> ::= <userPermissionHt> <rolePermissionHt> <groupPermissionHt>
    - <userPermissionHt> ::= NULL | {<userName>, <permissionVector>}...
    - <rolePermissionHt> ::= NULL | {<roleName>, <permissionVector>}...
    - <groupPermissionHt> ::= NULL | (<groupName>, <permissionVector>)...
    - <userName> ::= a string of user name
    - <roleName> ::= a string of role name
    - <groupName> ::= a string of group name
    - <permissionVector> ::= <zero-sized Vector> | {<visible> | <read> | <write> | <delete> | <execute> | <schedule> | <grant>}...
      - <zero-sized Vector> ::= a vector object contains nothing
      - <visible> ::= object `Permissions.P_VISIBLE`
      - <read> ::= object `Permissions.P_READ`
      - <write> ::= object `Permissions.P_WRITE`
      - <delete> ::= object `Permissions.P_DELETE`
      - <execute> ::= object `Permissions.P_EXECUTE`
      - <schedule> ::= object `Permissions.P_SCHEDULE`
      - <grant> ::= object `Permissions.P_GRANT`
  Returns:
    the new folder's absolutePath, or null if failed to add the sub-folder.
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `NodeExistsException` - if a NodeExistsException occurs.
    `UnknownResource` - if no node can be found by the path

### addResourcesToFolder

    void addResourcesToFolder(java.lang.String userID,
                              java.lang.String folderPath,
                              java.lang.String fromRealDir,
                              boolean includesSubDir,
                              java.util.Hashtable htResource,
                              java.util.Hashtable[] permissions)
                              throws NoPrivilegeException,
                                     NodeExistsException,
                                     UnknownResource

  Adds files and sub-folders into a specific folder.

  Parameters:
    `userID` - the user ID
    `folderPath` - the path to specify in which folder new resources will be added
    `fromRealDir` - the real directory which contains these files and sub-folders.
    `includesSubDir` - indicates to only add files to the folder.
    `htResource` - a `Hashtable` that contains attributes of the new resources. These attributes can be indicated by some defined constants in `APIConst`, for example, TAG_NODE_NAME, TAG_RESOURCE_TYPE, etc.
    `permissions` - a `Hashtable` array, which may contain three `Hashtable` objects.
    The first `Hashtable` contains several user/permissions pairs to represent the permissions attached to the specific path. In this `Hashtable` object, the key is user name, the value is a `Vector` object which contains all permissions (e.g. jet.server.api.Permissions.P_READ) that the user has on the specific path.
    The second `Hashtable` object contains several role/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.
    The third `Hashtable` object contains several group/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.
    The structure of Hashtable[] permissions is
    - <permissionHashtableArray> ::= <userPermissionHt> <rolePermissionHt> <groupPermissionHt>
    - <userPermissionHt> ::= NULL | {<userName>, <permissionVector>}...
    - <rolePermissionHt> ::= NULL | {<roleName>, <permissionVector>}...
    - <groupPermissionHt> ::= NULL | (<groupName>, <permissionVector>)...
    - <userName> ::= a string of user name
    - <roleName> ::= a string of role name
    - <groupName> ::= a string of group name
    - <permissionVector> ::= <zero-sized Vector> | {<visible> | <read> | <write> | <delete> | <execute> | <schedule> | <grant>}...
      - <zero-sized Vector> ::= a vector object contains nothing
      - <visible> ::= object `Permissions.P_VISIBLE`
      - <read> ::= object `Permissions.P_READ`
      - <write> ::= object `Permissions.P_WRITE`
      - <delete> ::= object `Permissions.P_DELETE`
      - <execute> ::= object `Permissions.P_EXECUTE`
      - <schedule> ::= object `Permissions.P_SCHEDULE`
      - <grant> ::= object `Permissions.P_GRANT`
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `NodeExistsException` - if a NodeExistsException occurs.
    `UnknownResource` - if no node can be found by the path

### addResourcesToFolder

    java.lang.String addResourcesToFolder(java.lang.String userID,
                                          java.lang.String folderPath,
                                          java.lang.String fromRealDir,
                                          boolean includesSubDir,
                                          boolean isAutoConvert,
                                          java.util.Hashtable htResource,
                                          java.util.Hashtable[] permissions)
                                          throws NoPrivilegeException,
                                                 NodeExistsException,
                                                 UnknownResource

  Adds files and sub-folders into a specific folder.

  Parameters:
    `userID` - the user ID
    `folderPath` - the path to specify in which folder the new resources will be added
    `fromRealDir` - the real directory which contains these files and sub-folders.
    `includesSubDir` - indicates to only add files to the folder.
    `isAutoConvert` - whether to convert the old version report to the latest version report
    `htResource` - a `Hashtable` that contains attributes of the new resources. These attributes can be indicated by some defined constants in `APIConst`, for example, TAG_NODE_NAME, TAG_RESOURCE_TYPE, etc.
    `permissions` - a `Hashtable` array, which may contain three `Hashtable` objects.
    The first `Hashtable` contains several user/permissions pairs to represent the permissions attached to the specific path. In this `Hashtable` object, the key is user name, the value is a `Vector` object which contains all permissions (e.g. `jet.server.api.Permissions.P_READ`) that the user has on the specific path.
    The second `Hashtable` object contains several role/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.
    The third `Hashtable` object contains several group/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions. The structure of Hashtable[] permissions is:
    - <permissionHashtableArray> ::= <userPermissionHt> <rolePermissionHt> <groupPermissionHt>
    - <userPermissionHt> ::= NULL | {<userName>, <permissionVector>}...
    - <rolePermissionHt> ::= NULL | {<roleName>, <permissionVector>}...
    - <groupPermissionHt> ::= NULL | (<groupName>, <permissionVector>)...
    - <userName> ::= a string of user name
    - <roleName> ::= a string of role name
    - <groupName> ::= a string of group name
    - <permissionVector> ::= <zero-sized Vector> | {<visible> | <read> | <write> | <delete> | <execute> | <schedule> | <grant>}...
      - <zero-sized Vector> ::= a vector object contains nothing
      - <visible> ::= object `Permissions.P_VISIBLE`
      - <read> ::= object `Permissions.P_READ`
      - <write> ::= object `Permissions.P_WRITE`
      - <delete> ::= object `Permissions.P_DELETE`
      - <execute> ::= object `Permissions.P_EXECUTE`
      - <schedule> ::= object `Permissions.P_SCHEDULE`
      - <grant> ::= object `Permissions.P_GRANT`
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `NodeExistsException` - if a NodeExistsException occurs.
    `UnknownResource` - if no node can be found by the path

### removeVersion

    void removeVersion(java.lang.String userID,
                       java.lang.String versionID)
                       throws NoPrivilegeException

  Removes a specific version.

  Parameters:
    `userID` - the user ID
    `versionID` - the version ID to be removed. User can get it from `VersionRecord`.
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
  See Also:
    `VersionRecord`

### getAllUsers

    java.util.Vector getAllUsers(java.lang.String submitter)

  Gets all users.

  Parameters:
    `submitter` - the user id who sent this request
  Returns:
    a `Vector` object containing all user names, or null if the submitter does not have the permission for getting all users.

### getUsersByRole

    java.util.Vector getUsersByRole(java.lang.String submitter,
                                    java.lang.String roleID)
                                    throws NoSuchRoleException

  Gets the users who have the specific role.

  Parameters:
    `submitter` - the user id who sent this request
    `roleID` - the role ID
  Returns:
    a `Vector` object containing the user names who have the specific role, or null if the submitter does not have the permission for getting the users by this role.
  Throws:
    `NoSuchRoleException` - if a NoPrivilegeException occurs.

### getAllRoles

    java.util.Vector getAllRoles(java.lang.String submitter)

  Gets all roles.

  Parameters:
    `submitter` - the user id who sent this request
  Returns:
    a `Vector` object containing all role names, or null if the submitter does not have the permission for getting all roles.

### getRolesByUser

    java.util.Vector getRolesByUser(java.lang.String submitter,
                                    java.lang.String userID)
                                    throws NoSuchUserException

  Gets the roles which the specific user has.

  Parameters:
    `submitter` - the user id who sent this request
    `userID` - the user ID
  Returns:
    a `Vector` object containing the role names which the specific user has, or null if the submitter does not have the permission for getting the roles by this user.
  Throws:
    `NoSuchUserException` - if a NoSuchUserException occurs

### getReferRoles

    java.util.Vector getReferRoles(java.lang.String userID)
                                   throws NoSuchUserException

  Gets the roles which the specific user belongs to.

  Parameters:
    `userID` - the user ID
  Returns:
    a `Vector` object containing the role names which the specific user belongs to. These roles are owned by the specific user but not administrator or everyone.
  Throws:
    `NoSuchUserException` - if a NoSuchUserException occurs

### getReferUsers

    java.util.Vector getReferUsers(java.lang.String userID)
                                   throws NoSuchUserException

  Gets the users which belong to the same role as the specific user. These users except administrator and everyone have the same role as the specific user.

  Parameters:
    `userID` - the user ID
  Returns:
    a `Vector` object containing the user names that have the same role.
  Throws:
    `NoSuchUserException` - if a NoSuchUserException occurs

### getReferGroups

    java.util.Vector getReferGroups(java.lang.String userID)
                                    throws NoSuchUserException

  Gets the groups which the specific user belongs to. These groups contain the specific user.

  Parameters:
    `userID` - the user ID
  Returns:
    a `Vector` object containing the group names which the specific user belongs to,
  Throws:
    `NoSuchUserException` - if a NoSuchUserException occurs

### getPermissions

    java.util.Hashtable[] getPermissions(java.lang.String userID,
                                         java.lang.String path,
                                         int versionNumber)
                                         throws NoPrivilegeException,
                                                UnknownResource

  Gets the defined permissions of the users attached to the specific path.

  Parameters:
    `userID` - the user ID whose permissions are to get
    `path` - the path which the user is attached to
    `versionNumber` - the version number to specify the version of the path, if its value is 0, get the latest version.
  Returns:
    a `Hashtable` array, which contains three `Hashtable` objects to represent permissions set on the path. `null` means no permission set on the path.

    The first `Hashtable` contains several user/permissions pairs to represent the defined permissions attached to the specific path. In this `Hashtable` object, the key is user name, the value is a `String` which presents the permissions that the user has on the specific path.
    In the value string, character '1' and '0' respectively represents Allow and Deny, the position indicates which privilege it stand for (0 base):

    - 0 - visible
    - 1 - read
    - 2 - write
    - 3 - execute
    - 4 - schedule
    - 5 - delete
    - 6 - grant
    - 7 - update status
    - 8 - edit (JDashboard)
    For example, a entry ("user1" : "110000000") means user1 has permission visible and read.

    The second `Hashtable` object contains several role/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.

    The third `Hashtable` object contains several group/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.

  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if no node can be found by the path

### getInheritedPermissions

    java.util.Hashtable[] getInheritedPermissions(java.lang.String userID,
                                                  java.lang.String path,
                                                  int versionNumber)
                                                  throws NoPrivilegeException,
                                                         UnknownResource

  Gets the inherited permissions of the users attached to the specific path.

  Parameters:
    `userID` - the user ID whose permissions are to get
    `path` - the path which the user is attached to
    `versionNumber` - version number to specify the version of the path, if its value is 0, get the latest version.
  Returns:
    a `Hashtable` array, which contains three `Hashtable` objects. The first `Hashtable` contains several user/permissions pairs to represent the defined permissions attached to the specific path. In this `Hashtable` object, the key is user name, the value is a `Vector` object which contains all permissions (e.g. jet.server.api.Permissions.P_READ) that the user has on the specific path. The second `Hashtable` object contains several role/permissions pairs to represent the inherited permissions on the specific path and its structure is similar to user/permissions. The third `Hashtable` object contains several group/permissions pairs to represent the inherited permissions on the specific path and its structure is similar to user/permissions. Or null if the user/role/group does not have the permission to get the permissions on the specific path.
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if no node can be found by the path

### setPermissions

    void setPermissions(java.lang.String userID,
                        java.lang.String path,
                        int versionNumber,
                        java.util.Hashtable[] permissions)
                        throws NoPrivilegeException,
                               UnknownResource

  Sets the permissions of users for a specific path.

  Parameters:
    `userID` - the user ID whose permissions are to set
    `path` - the path which will be set attached permissions
    `versionNumber` - version number to specify the version of the path, if its value is 0, get the latest version.
    `permissions` - a `Hashtable` array, which contains three `Hashtable` objects to represent permissions set on the path.

    The first `Hashtable` contains several user/permissions pairs to represent the defined permissions attached to the specific path. In this `Hashtable` object, the key is user name, the value is a `String` which presents the permissions that the user has on the specific path.
    In the value string, character '1' and '0' respectively represents Allow and Deny, the position indicates which privilege it stand for (0 base):

    - 0 - visible
    - 1 - read
    - 2 - write
    - 3 - execute
    - 4 - schedule
    - 5 - delete
    - 6 - grant
    - 7 - update status
    - 8 - edit (JDashboard)
    For example, a entry ("user1" : "110000000") means user1 has permission visible and read.

    The second `Hashtable` object contains several role/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.

    The third `Hashtable` object contains several group/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.

  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if no node can be found by the path

### setNodeProperties

    void setNodeProperties(java.lang.String userID,
                           java.lang.String path,
                           java.util.Hashtable htProps,
                           java.util.Hashtable[] permissions)
                           throws NoPrivilegeException,
                                  NodeExistsException,
                                  UnknownResource

  Sets the properties and permissions of the users for a specific path.

  Parameters:
    `userID` - the user ID whose properties are to set
    `path` - the path which will be used to set properties and permissions
    `htProps` - properties of the specific node. These properties are indicated by `APIConst.TAG_MAXVERSION, APIConst.TAG_REPLACE_OLD_VERSION, APIConst.TAG_NODE_REAL_PATH, APIConst.TAG_TAG_ENABLE_DEFAULT_LINKED_CATALOG, APIConst.TAG_DEFAULT_LINKED_CATALOG APIConst.TAG_IS_USING_INHERITED`, etc. all values are represented by a `String`.
    `permissions` - a `Hashtable` array, which may contain three `Hashtable` objects.
    The first `Hashtable` contains several user/permissions pairs to represent the permissions attached to the specific path. In this `Hashtable` object, the key is user name, the value is a `Vector` object which contains all permissions (e.g. jet.server.api.Permissions.P_READ) that the user has on the specific path.
    The second `Hashtable` object contains several role/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.
    The third `Hashtable` object contains several group/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions. The structure of Hashtable[] permissions is:
    - <permissionHashtableArray> ::= <userPermissionHt> <rolePermissionHt> <groupPermissionHt>
    - <userPermissionHt> ::= NULL | {<userName>, <permissionVector>}...
    - <rolePermissionHt> ::= NULL | {<roleName>, <permissionVector>}...
    - <groupPermissionHt> ::= NULL | (<groupName>, <permissionVector>)...
    - <userName> ::= a string of user name
    - <roleName> ::= a string of role name
    - <groupName> ::= a string of group name
    - <permissionVector> ::= <zero-sized Vector> | {<visible> | <read> | <write> | <delete> | <execute> | <schedule> | <grant>}...
      - <zero-sized Vector> ::= a vector object contains nothing
      - <visible> ::= object `Permissions.P_VISIBLE`
      - <read> ::= object `Permissions.P_READ`
      - <write> ::= object `Permissions.P_WRITE`
      - <delete> ::= object `Permissions.P_DELETE`
      - <execute> ::= object `Permissions.P_EXECUTE`
      - <schedule> ::= object `Permissions.P_SCHEDULE`
      - <grant> ::= object `Permissions.P_GRANT`
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `NodeExistsException` - if a NodeExistsException occurs.
    `UnknownResource` - if an UnknownResource occurs.

### setNodeProperties

    void setNodeProperties(java.lang.String userID,
                           java.lang.String path,
                           int versionNumber,
                           java.util.Hashtable htProps,
                           java.util.Hashtable[] permissions)
                           throws NoPrivilegeException,
                                  UnknownResource

  Sets the properties and permissions of the users for a specific version of path.

  Parameters:
    `userID` - the user ID whose properties are to set
    `path` - the path which will be set properties and permissions for attached version
    `versionNumber` - the version number. If it is zero, it means the path itself
    `htProps` - the properties of the specific node. These properties are indicated by `APIConst.TAG_EXPIRED_TIME`, etc, and all values are represented by a `String`.
    `permissions` - a `Hashtable` array, which may contain three `Hashtable` objects. The first `Hashtable` contains several user/permissions pairs to represent the permissions attached to the specific path.
    The first `Hashtable` object, the key is user name, the value is a `Vector` object which contains all permissions (e.g. `jet.server.api.Permissions.P_READ`) that the user has on the specific path.
    The second `Hashtable` object contains several role/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.
    The third `Hashtable` object contains several group/permissions pairs to represent the defined permissions on the specific path and its structure is similar to user/permissions.
    The structure of Hashtable[] permissions is:
    - <permissionHashtableArray> ::=
    - <userPermissionHt> <rolePermissionHt> <groupPermissionHt>
    - <userPermissionHt> ::= NULL | {<userName>,
    - <permissionVector>}... <rolePermissionHt> ::= NULL | {<roleName>,
    - <permissionVector>}... <groupPermissionHt> ::= NULL | (<groupName>,
    - <permissionVector>)... <userName> ::= a string of user name
    - <roleName> ::= a string of role name
    - <groupName> ::= a string of group name
    - <permissionVector> ::= <zero-sized Vector> | {<visible> |<read> | <write> | <delete> | <exectue> | <schedule> |<grant>}...
    - <zero-sized Vector> ::= a vector object contains nothing
    - <visible> ::= object `Permissions.P_VISIBLE`
    - <read> ::= object `Permissions.P_READ`
    - <write> ::= object `Permissions.P_WRITE`
    - <delete> ::= object `Permissions.P_DELETE`
    - <execute> ::= object `Permissions.P_EXECUTE`
    - <schedule> ::= object `Permissions.P_SCHEDULE`
    - <grant> ::= object `Permissions.P_GRANT`
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if an UnknownResource occurs.

### setResultVersionProperties

    void setResultVersionProperties(java.lang.String userID,
                                    java.lang.String report,
                                    int versionNumber,
                                    java.util.Hashtable htProps)
                                    throws NoPrivilegeException,
                                           UnknownResource

  Sets the properties of the users for a specific result version of report.

  Parameters:
    `userID` - the user ID whose properties are to set
    `report` - the report which will be set properties for the attached result version
    `versionNumber` - the version number. If it is zero or an invalid version number, no action will be performed.
    `htProps` - the properties of the specific node. These properties are indicated by `APIConst.TAG_EXPIRED_TIME`, etc, and all values are represented by a `String`.
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if an UnknownResource occurs.

### getRealPathOfNode

    java.lang.String getRealPathOfNode(java.lang.String userID,
                                       java.lang.String path)
                                       throws NoPrivilegeException,
                                              UnknownResource

  Gets the real path property of a node, which is specified by path.

  Parameters:
    `userID` - the user id
    `path` - the path to specify a node (a folder, catalog, or report)
  Returns:
    the real path of the specific node
  Throws:
    `NoPrivilegeException` - if the user does not have the permission to get the specific node's realPath
    `UnknownResource` - if no node can be found by the path

### refreshFolders

    java.lang.String refreshFolders(java.lang.String userID)

  Deprecated. reference `#getResourceTreeInputStream(String)`

  Refreshes the folders represented in UI for the specific user. Server creates an xml file for each user, all folders can be shown in UI for the users are represented in this xml file. If a user wants to refresh his folder tree in UI, this method should be invoked.

  Parameters:
    `userID` - the user id.
  Returns:
    the xml file name

### getResourceTreeInputStream

    java.io.InputStream getResourceTreeInputStream(java.lang.String userID,
                                                   java.lang.String... pathPrefix)

  Gets resource tree XML input stream.

  Parameters:
    `userID` - the user id.
    `pathPrefix` - root path prefix, such as /(Public Reports), /USERFOLDERPATH, /COMPONENT_LIB etc.
  Returns:
    the input stream of resource tree xml text.

### getResourceTreeInputStreamByType

    java.io.InputStream getResourceTreeInputStreamByType(java.lang.String userID,
                                                         int streamType,
                                                         java.lang.String... pathPrefix)

  Gets resource tree XML input stream.

  Parameters:
    `userID` - the user id.
    `streamType` - the type of return stream, XML_STREAM indicate return XML text stream, JSON_STREAM indicate return JSON text stream, other type return null.
    `pathPrefix` - root path prefix, such as /(Public Reports), /USERFOLDERPATH, /COMPONENT_LIB etc.
  Returns:
    the input stream of resource tree text.

### getResourceTreeInputStream

    java.io.InputStream getResourceTreeInputStream(java.lang.String userID,
                                                   int streamType,
                                                   java.lang.String[] roots,
                                                   java.lang.String[] suffixes,
                                                   java.util.Locale locale)

  Gets resource tree XML input stream.

  Parameters:
    `userID` - the user id.
    `streamType` - the type of return stream, XML_STREAM indicate return XML text stream, JSON_STREAM indicate return JSON text stream, other type return null.
    `root` - root paths , such as /(Public Reports), /USERFOLDERPATH, /COMPONENT_LIB etc.
    `roots` - root paths , such as /(Public Reports), /USERFOLDERPATH, /COMPONENT_LIB etc.
    `suffixes` - resource suffix, such as ".cls", ".dsh", etc.
  Returns:
    the input stream of resource tree text.

### getLatestVersionNumber

    int getLatestVersionNumber(java.lang.String resourcePath)
                               throws UnknownResource

  Gets the latest version number of a specific resource.

  Parameters:
    `resourcePath` - resource path to specify a resource
  Returns:
    the latest version number of the specific resource. If the specific resource does not exist or input string does not specify a resource, return -1.
  Throws:
    `UnknownResource` - if no node can be found by the path

### getLatestVersionNumber

    int getLatestVersionNumber(java.lang.String resourcePath,
                               java.lang.String userID)
                               throws UnknownResource

  Gets the latest version number of a specific resource.

  Parameters:
    `resourcePath` - resource path to specify a resource
    `userID` - the user id
  Returns:
    the latest version number of the specific resource. If the specific resource does not exist or input string does not specify a resource, return -1.
  Throws:
    `UnknownResource` - if no node can be found by the path

### isAdminUser

    boolean isAdminUser(java.lang.String userID)

  Checks if a user is an administrator.

  Parameters:
    `userID` - the user id
  Returns:
    true if the user is an administrator, otherwise false

### isOrganizationAdminUser

    boolean isOrganizationAdminUser(java.lang.String userID)

  Checks if a user is an administrator of an organization.

  Parameters:
    `userID` - the user id
  Returns:
    true if the user is an administrator of an organization, otherwise false

### checkPermission

    boolean checkPermission(java.lang.String userID,
                            java.lang.String resourcePath,
                            java.security.acl.Permission permission)
                            throws NoSuchUserException,
                                   UnknownResource

  Checks whether a specific user has a permission on a specific resource path.

  Parameters:
    `userID` - the user id.
    `resourcePath` - the resourc path.
    `permission` - a permission, which should be one of the permissions defined in jet.server.api.Permissions.
  Returns:
    true if the user has the specific permission on the resource, otherwise false.
  Throws:
    `NoSuchUserException` - if NoSuchUserException occurs.
    `UnknownResource` - if no node can be found by the path.

### checkPermission

    boolean checkPermission(java.lang.String userID,
                            java.lang.String resourcePath,
                            int versionNumber,
                            java.security.acl.Permission permission)
                            throws NoSuchUserException,
                                   UnknownResource

  Checks whether the specific user has a permission on a specific version number of a resource path.

  Parameters:
    `userID` - the user id.
    `resourcePath` - the resource path.
    `versionNumber` - the version number of the resource path.
    `permission` - a permission, which should be one of the permissions defined in jet.server.api.Permissions.
  Returns:
    true if the user has the specific permission on the resource, otherwise false.
  Throws:
    `NoSuchUserException` - if NoSuchUserException occurs
    `UnknownResource` - if no node can be found by the path

### isNodeExist

    boolean isNodeExist(java.lang.String path,
                        java.lang.String userName)

  Checks whether or not the specified node exists. If it does, true is returned, otherwise false is returned.

  Parameters:
    `path` - the specific resource path.
    `userName` - the user name.
  Returns:
    true if the node exists, otherwise false.

### loadUserResAliasToMem

    void loadUserResAliasToMem(java.lang.String userID)

  Loads resource alias of a user from database and saves them into memory.

  Parameters:
    `userID` - the user name.
  Throws:
    `java.rmi.RemoteException`

### rmUserResAliasFromMem

    void rmUserResAliasFromMem(java.lang.String userID)

  Removes resource alias of a user from memory.

  Parameters:
    `userID` - the user name.

### getInheritedLinkedCatalog

    java.lang.String getInheritedLinkedCatalog(java.lang.String userID,
                                               java.lang.String path)
                                               throws NoPrivilegeException,
                                                      UnknownResource

  Gets inherited linked catalog.

  Parameters:
    `userID` - the user name.
    `path` - the resource path.
  Returns:
    the inherited linked catalog or null if inheriting is broken.
  Throws:
    `NoPrivilegeException`
    `UnknownResource`
  Since:
    version 8.1

### isCatalogLinked

    boolean isCatalogLinked(java.lang.String userID,
                            java.lang.String path)
                            throws NoPrivilegeException,
                                   UnknownResource

  Checks whether the catalog is linked.

  Parameters:
    `userID` - the user name.
    `path` - the catalog path.
  Returns:
    true if the catalog is linked.
  Throws:
    `NoPrivilegeException`
    `UnknownResource`
  Since:
    version 8.2

### getEnabledCustomFieldNames

    java.util.Vector getEnabledCustomFieldNames()

  Gets all names of enabled custom fields.

  Returns:
    all names of enabled custom fields.
  Throws:
    `RptServerException` - if an RptServerException occurs.
  Since:
    version 9.1

### getRootNodeDisplay

    java.lang.String getRootNodeDisplay(java.util.Locale locale)

  Get "Root" node's display text on UI for specified locale. "Root" node is a virtual node, which does not really exist on resource tree, it has sub-folders: My Reports, My Components, Public Reports, Public Components, for organization user, also has sub-folders: Organization Reports and Organization Components.

  Parameters:
    `locale` - the locale
  Returns:
    "Root" node's display text, which should be defined by `ResourceNLSManager.updateRootNLSEntry(Locale, TextNLSEntry, String)`, return null if not defined.
  See Also:
    `ResourceNLSManager`

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