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.rmi
Interface RemoteResourceManager

All Superinterfaces:
  java.rmi.Remote

    public interface RemoteResourceManager

extends java.rmi.Remote

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

Since:
  5.2

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)` Add a resource into 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)` Add a resource into specific folder
`void` | `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)` Add files and sub-folders into 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)` Add files and sub-folders into specific folder
`VersionRecord` | `addResultInReport(java.lang.String userID, java.lang.String reportPath, java.util.Hashtable htResult)` Add a result into specific report
`boolean` | `checkPermission(java.lang.String userID, java.lang.String resourcePath, int versionNumber, java.security.acl.Permission permission)` Check specific user has or does not have a permission on specific version number of a resource path.
`boolean` | `checkPermission(java.lang.String userID, java.lang.String resourcePath, java.security.acl.Permission permission)` Check specific user has or does not have a permission on 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)` Add a sub-folder into specific folder
`java.util.Vector` | `getAllRoles(java.lang.String submitter)` Get all roles
`java.util.Vector` | `getAllUsers(java.lang.String submitter)` Get all users
`java.util.Vector` | `getCatalogsInPath(java.lang.String userID, java.lang.String path)` Get catalogs in a resource path.
`CatalogVersionRecord` | `getCatalogVersion(java.lang.String userID, java.lang.String catName, int versionNumber)` Get a catalog version by catalog name and version number
`java.util.Vector` | `getCatalogVersions(java.lang.String userID, java.lang.String catName)` Get versions of specific catalog.
`java.util.Vector` | `getEnabledCustomFieldNames()` Get all names of enabled custom fields
`java.lang.String[]` | `getExtensions(java.lang.String mimieType)` Get file extensions of the MIME type.
`java.util.Vector` | `getFileSysDirsInPath(java.lang.String userID, java.lang.String path)` Get sub-directories in a resource path.
`java.util.Vector` | `getFileSysFilesInPath(java.lang.String userID, java.lang.String path)` Get files in a resource path.
`java.util.Vector` | `getFoldersInPath(java.lang.String userID, java.lang.String path)` Get folders in a resource path.
`java.lang.String` | `getHistDir()` Get the directory which result versions are saved to.
`java.lang.String` | `getHistFile(java.lang.String file)` Get the history file .
`java.util.Vector` | `getImagesByCatalog(java.lang.String userID, java.lang.String catalog)` Get inherited permissions of users that attached to specific path
`java.lang.String` | `getInheritedLinkedCatalog(java.lang.String userID, java.lang.String path)` Get inherited linked catalog
`java.util.Hashtable[]` | `getInheritedPermissions(java.lang.String userID, java.lang.String path, int versionNumber)` Get inherited permissions of users that attached to specific path
`int` | `getLatestVersionNumber(java.lang.String resourcePath)` Get the latest version number of specific resource.
`int` | `getLatestVersionNumber(java.lang.String resourcePath, java.lang.String userID)` Get the latest version number of specific resource.
`java.lang.String` | `getMIMEType(java.lang.String extName)` Get the MIME type of a file extension.
`PathInfo` | `getPathInfo(java.lang.String userID, java.lang.String path)` Get PathInfo.
`java.util.Hashtable[]` | `getPermissions(java.lang.String userID, java.lang.String path, int versionNumber)` Get defined permissions of users that attached to specific path
`java.lang.String` | `getRealm()` Get the active realm.
`java.lang.String` | `getRealmDir()` Get the directory of the active realm.
`java.lang.String` | `getRealPathOfNode(java.lang.String userID, java.lang.String path)` Get real path property of a node, which is specifid by path
`java.util.Vector` | `getReferGroups(java.lang.String userID)` Get groups which specific user referred, these groups contain specific user
`java.util.Vector` | `getReferRoles(java.lang.String userID)` Get roles which specific user referred,
`java.util.Vector` | `getReferUsers(java.lang.String userID)` Get users which specific user referred, these users have same role except administrator and everyone with specific user
`java.util.Vector` | `getReports(java.lang.String userID, java.lang.String catalog)` Get reports of a catalog.
`java.util.Vector` | `getReportsInPath(java.lang.String userID, java.lang.String path)` Get reports in a resource path.
`ReportVersionRecord` | `getReportVersion(java.lang.String userID, java.lang.String rptName, int versionNumber)` Get a version of specific report by version number.
`java.util.Vector` | `getReportVersions(java.lang.String userID, java.lang.String rptName)` Get versions of specific report.
`ResultVersionRecord` | `getResultDocVersion(java.lang.String userID, java.lang.String resultDocName, int versionNumber)` Get version of specific result doc by version number.
`java.util.Vector` | `getResultDocVersions(java.lang.String userID, java.lang.String resultDocName)` Get versions of specific result doc.
`int` | `getResultMaxVersionAmount(java.lang.String userID, java.lang.String reportResource)` Get max version limited amount for specific report's result.
`java.util.Vector` | `getResultsInPath(java.lang.String userID, java.lang.String path)` Get results in a resource path.
`ResultVersionRecord` | `getResultVersion(java.lang.String userID, java.lang.String rptName, int versionNumber)` Get a result version attach to specific report by version number.
`ResultVersionRecord` | `getResultVersionByNodeID(java.lang.String recordID)` Get a result version by node id
`java.util.Vector` | `getResultVersions(java.lang.String userID, java.lang.String rptName)` Get result versions attach to specific report.
`java.util.Vector` | `getRolesByUser(java.lang.String submitter, java.lang.String userID)` Get roles which specific user has
`java.lang.String` | `getRoot()` Get the resource root directory of the report server.
`java.lang.String` | `getSchedulePath()` Get the path of the Schedule.
`java.util.Vector` | `getSubnodes(java.lang.String userID, java.lang.String path)` Get the sub-nodes of a resource node in the resource tree.
`java.util.Vector` | `getSubpaths(java.lang.String userID, java.lang.String path)` Get sub-paths of a resource path.
`java.util.Vector` | `getSubpathsAndCatalogs(java.lang.String userID, java.lang.String path)` Get sub-paths of a resource path and catalogs.
`java.lang.String` | `getTempDir()` Get the temporary directory of the server.
`java.util.Vector` | `getUsersByRole(java.lang.String submitter, java.lang.String roleID)` Get users who has specific role
`boolean` | `isAdminUser(java.lang.String userID)` Check if a user is an administrator
`boolean` | `isCatalogLinked(java.lang.String userID, java.lang.String path)` Check whether the catalog is linked
`boolean` | `isNodeExist(java.lang.String path, java.lang.String userName)` Checks whether or not the specified node does exist.
`void` | `loadUserResAliasToMem(java.lang.String userID)` load resource alias of user and save them into memory
`java.lang.String` | `refreshFolders(java.lang.String userID)` Refresh the folders represent in UI for specific user.
`void` | `removeNode(java.lang.String userID, java.lang.String path)` Remove specific node which was indicated by path.
`void` | `removeVersion(java.lang.String userID, java.lang.String versionID)` Remove specific version.
`void` | `rmUserResAliasFromMem(java.lang.String userID)` remove resource alias of user from memory
`void` | `setNodeProperties(java.lang.String userID, java.lang.String path, java.util.Hashtable htProps, java.util.Hashtable[] permissions)` Set properties and permissions of users for specific path
`void` | `setNodeProperties(java.lang.String userID, java.lang.String path, int versionNumber, java.util.Hashtable htProps, java.util.Hashtable[] permissions)` Set properties and permissions of users for specific version of path
`void` | `setPermissions(java.lang.String userID, java.lang.String path, int versionNumber, java.util.Hashtable[] permissions)` Set permissions of users for specific path
`void` | `setResultMaxVersionAmount(java.lang.String userID, java.lang.String reportResource, int maxVersionAmount)` Set max version limited amount for specific report's result.
`void` | `setResultVersionProperties(java.lang.String userID, java.lang.String report, int versionNumber, java.util.Hashtable htProps)` Set properties of users for specific result version of report

Method Detail

### getMIMEType

    java.lang.String getMIMEType(java.lang.String extName)
                                 throws java.rmi.RemoteException

  Get the MIME type of a file extension.

  Parameters:
    `extName` - the file extension.
  Returns:
    the MIME type of a file extension.
  Throws:
    `java.rmi.RemoteException` - if a RemoteException occurs.

### getExtensions

    java.lang.String[] getExtensions(java.lang.String mimieType)
                                     throws java.rmi.RemoteException

  Get file extensions of the MIME type.

  Parameters:
    `mimieType` - the MIME type.
  Returns:
    file extensions of the MIME type.
  Throws:
    `java.rmi.RemoteException` - if a RemoteException occurs.

### getRealm

    java.lang.String getRealm()
                              throws java.rmi.RemoteException

  Get the active realm.

  Returns:
    the active realm.
  Throws:
    `java.rmi.RemoteException` - if a RemoteException occurs.

### getRealmDir

    java.lang.String getRealmDir()
                                 throws java.rmi.RemoteException

  Get the directory of the active realm.

  Returns:
    the directory of the active realm.
  Throws:
    `java.rmi.RemoteException` - if a RemoteException occurs.

### getTempDir

    java.lang.String getTempDir()
                                throws java.rmi.RemoteException

  Get the temporary directory of the server.

  Returns:
    the temporary directory of the server.
  Throws:
    `java.rmi.RemoteException` - if a RemoteException occurs.

### getHistDir

    java.lang.String getHistDir()
                                throws java.rmi.RemoteException

  Get the directory which result versions are saved to.

  Returns:
    the directory which result versions are saved to.
  Throws:
    `java.rmi.RemoteException` - if a RemoteException occurs.

### getRoot

    java.lang.String getRoot()
                             throws java.rmi.RemoteException

  Get the resource root directory of the report server.

  Returns:
    the resource root directory of the report server.
  Throws:
    `java.rmi.RemoteException` - if a RemoteException occurs.

### getPathInfo

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

  Get PathInfo.

  Parameters:
    `userID` - the user ID.
    `path` - the resource path. For example: /SunVMDemo.
  Returns:
    the PathInfo.
  Throws:
    `java.rmi.RemoteException` - if a RemoteException occurs.
    `RptServerException` - if a RptServerException occurs.
  See Also:
    `PathInfo`

### getSubpaths

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

  Get 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:
    sub-paths of a resource path. The Vector contains PathInfo objects.
  Throws:
    `java.rmi.RemoteException` - if a RemoteException occurs.
    `RptServerException` - if a RptServerException occurs.
  See Also:
    `PathInfo`

### getSubpathsAndCatalogs

    java.util.Vector getSubpathsAndCatalogs(java.lang.String userID,
                                            java.lang.String path)
                                            throws java.rmi.RemoteException,
                                                   RptServerException

  Get sub-paths of a resource path and catalogs.

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

### getSubnodes

    java.util.Vector getSubnodes(java.lang.String userID,
                                 java.lang.String path)
                                 throws java.rmi.RemoteException,
                                        RptServerException

  Get 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:
    `java.rmi.RemoteException` - if a RemoteException occurs.
    `RptServerException` - if a RptServerException occurs.
  See Also:
    `PathInfo`

### getCatalogsInPath

    java.util.Vector getCatalogsInPath(java.lang.String userID,
                                       java.lang.String path)
                                       throws java.rmi.RemoteException,
                                              RptServerException

  Get catalogs in a resource path.

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

### getFileSysDirsInPath

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

  Get sub-directories in a resource path.

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

### getFileSysFilesInPath

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

  Get files in a resource path.

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

### getReports

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

  Get reports of a catalog.

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

### getSchedulePath

    java.lang.String getSchedulePath()
                                     throws java.rmi.RemoteException

  Get the path of the Schedule.

  Returns:
    the path of the Schedule.
  Throws:
    `java.rmi.RemoteException` - if a RemoteException occurs.

### getHistFile

    java.lang.String getHistFile(java.lang.String file)
                                 throws java.rmi.RemoteException

  Get the history file .

  Returns:
    the history file.
  Throws:
    `java.rmi.RemoteException` - if a RemoteException occurs.

### getReportsInPath

    java.util.Vector getReportsInPath(java.lang.String userID,
                                      java.lang.String path)
                                      throws java.rmi.RemoteException,
                                             NoPrivilegeException,
                                             UnknownResource

  Get reports in a resource path.

  Parameters:
    `userID` - the user ID.
    `path` - the resource path. For example: /SunVMDemo.
  Returns:
    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.
    `java.rmi.RemoteException` - if a RemoteException occurs.
  Since:
    version 6
  See Also:
    `PathInfo`

### getResultsInPath

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

  Get results in a resource path.

  Parameters:
    `userID` - the user ID.
    `path` - the resource path. For example: /SunVMDemo.
  Returns:
    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.
    `java.rmi.RemoteException` - if a RemoteException occurs.
  Since:
    version 6
  See Also:
    `PathInfo`

### getFoldersInPath

    java.util.Vector getFoldersInPath(java.lang.String userID,
                                      java.lang.String path)
                                      throws java.rmi.RemoteException,
                                             NoPrivilegeException,
                                             UnknownResource

  Get folders in a resource path.

  Parameters:
    `userID` - the user ID.
    `path` - the resource path. For example: /SunVMDemo.
  Returns:
    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.
    `java.rmi.RemoteException` - if a RemoteException occurs.
  Since:
    version 6
  See Also:
    `PathInfo`

### getCatalogVersions

    java.util.Vector getCatalogVersions(java.lang.String userID,
                                        java.lang.String catName)
                                        throws java.rmi.RemoteException,
                                               NoPrivilegeException,
                                               UnknownResource

  Get versions of specific catalog.

  Parameters:
    `userID` - the user ID,
    `catName` - the catalog name. For example: /SampleReports/SampleReports.cat.
  Returns:
    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.
    `java.rmi.RemoteException` - if a RemoteException occurs.
  Since:
    version 6
  See Also:
    `CatalogVersionRecord`

### getReportVersions

    java.util.Vector getReportVersions(java.lang.String userID,
                                       java.lang.String rptName)
                                       throws java.rmi.RemoteException,
                                              NoPrivilegeException,
                                              UnknownResource

  Get versions of specific report.

  Parameters:
    `userID` - the user ID,
    `rptName` - the report name. For example: /SampleReports/CustomerAnalysis.cls.
  Returns:
    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.
    `java.rmi.RemoteException` - if a RemoteException occurs.
  Since:
    version 6
  See Also:
    `ReportVersionRecord`

### getResultVersions

    java.util.Vector getResultVersions(java.lang.String userID,
                                       java.lang.String rptName)
                                       throws java.rmi.RemoteException,
                                              NoPrivilegeException,
                                              UnknownResource

  Get result versions attach to specific report.

  Parameters:
    `userID` - the user ID,
    `rptName` - the report name. For example: /SampleReports/CustomerAnalysis.cls.
  Returns:
    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.
    `java.rmi.RemoteException` - if a RemoteException occurs.
  Since:
    version 6
  See Also:
    `ResultVersionRecord`

### getResultDocVersions

    java.util.Vector getResultDocVersions(java.lang.String userID,
                                          java.lang.String resultDocName)
                                          throws java.rmi.RemoteException,
                                                 NoPrivilegeException,
                                                 UnknownResource

  Get versions of specific result doc.

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

### getCatalogVersion

    CatalogVersionRecord getCatalogVersion(java.lang.String userID,
                                           java.lang.String catName,
                                           int versionNumber)
                                           throws java.rmi.RemoteException,
                                                  NoPrivilegeException,
                                                  UnknownResource

  Get a catalog version by catalog name and version number

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

### getReportVersion

    ReportVersionRecord getReportVersion(java.lang.String userID,
                                         java.lang.String rptName,
                                         int versionNumber)
                                         throws java.rmi.RemoteException,
                                                NoPrivilegeException,
                                                UnknownResource

  Get a version of 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 `ReportVersionRecord` object. or null if can not get specific version
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if no node can be found by the path.
    `java.rmi.RemoteException` - if a RemoteException occurs.
  Since:
    version 6
  See Also:
    `ReportVersionRecord`

### getResultVersion

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

  Get a result version attach to 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 can not get specific version
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if no node can be found by the path.
    `java.rmi.RemoteException` - if a RemoteException occurs.
  Since:
    version 6
  See Also:
    `ResultVersionRecord`

### getResultDocVersion

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

  Get version of 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 can not get specific version
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if no node can be found by the path.
    `java.rmi.RemoteException` - if a RemoteException occurs.
  Since:
    version 6
  See Also:
    `ResultVersionRecord`

### setResultMaxVersionAmount

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

  Set max version limited amount for specific report's result.

  Parameters:
    `userID` - the user ID.
    `reportResource` - the report resource name. For example: /SampleReports/CustomerAnalysis.cls
    `maxVersionAmount` - new max version limited amount value, if it is 0 or a nagetive value, the version amount of specific resource will be unlimited.
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if no node can be found by the path.
    `java.rmi.RemoteException` - if a RemoteException occurs.
  Since:
    version 6

### getResultMaxVersionAmount

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

  Get max version limited amount for specific report's result.

  Parameters:
    `userID` - the user ID.
    `reportResource` - the report resource name. For example: /SampleReports/CustomerAnalysis.cls
  Returns:
    the max version limited amount value, if it is 0, the version amount of specific resource will be unlimited, if return -1, there is some error occured.
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if no node can be found by the path.
    `java.rmi.RemoteException` - if a RemoteException occurs.
  Since:
    version 6

### removeNode

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

  Remove specific node which was indicated by path.

  Parameters:
    `userID` - the user ID.
    `path` - path to specify which resource will be remove.
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if no node can be found by the path.
    `java.rmi.RemoteException` - if a RemoteException occurs.

### addResource

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

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

  Add a resource into specific folder

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

### addResource

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

  Add a resource into specific folder

  Parameters:
    `userID` - the user ID
    `folderPath` - path to specify folder, in which new resource will be added
    `htResource` - a `Hashtable` that contains attributes of new resource, these attributes can be indicated by some defined constant in APIConst, for example: TAG_NODE_NAME, TAG_RESOURCE_TYPE, etc.
    `permissions` - a `Hashtable` array, which contains two `Hashtable` objects. The first `Hashtable` contains several user/permissions pair to represent permissions attached to specific path. In this `Hashtable` object, key is user name, value is a `Vector` object which contains all permissions (e.g. jet.server.api.Permissions.P_READ) that the user has on specific path. The second `Hashtable` object contains several role/permissions pair to represent defined permissions on specific path and its structure is similar to user/permissions The structure of Hashtable[] permissions is: ::= ::= NULL | {, }... ::= NULL | {, }... ::= NULL | (, )... ::= a string of user name ::= a string of role name ::= a string of group name ::= | { | | | | | | }... ::= a vector object contains nothing ::= object Permissions.P_VISIBLE ::= object Permissions.P_READ ::= object Permissions.P_WRITE ::= object Permissions.P_DELETE ::= object Permissions.P_EXECUTE ::= object Permissions.P_SCHEDULE ::= object Permissions.P_GRANT
  Returns:
    a `VersionRecord` object to represent a resource version that just added, or null if add resource failed.
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `NodeExistsException` - if a NodeExistsException occurs.
    `UnknownResource` - if no node can be found by the path
    `java.rmi.RemoteException`

### addResource

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

  Add a resource into specific folder

  Parameters:
    `userID` - the user ID
    `folderPath` - path to specify folder, in which new resource will be added
    `isAutoConvert` - whether convert the old version report to lastest version report
    `htResource` - a `Hashtable` that contains attributes of new resource, these attributes can be indicated by some defined constant in APIConst, for example: TAG_NODE_NAME, TAG_RESOURCE_TYPE, etc.
    `permissions` - a `Hashtable` array, which contains two `Hashtable` objects. The first `Hashtable` contains several user/permissions pair to represent permissions attached to specific path. In this `Hashtable` object, key is user name, value is a `Vector` object which contains all permissions (e.g. jet.server.api.Permissions.P_READ) that the user has on specific path. The second `Hashtable` object contains several role/permissions pair to represent defined permissions on specific path and its structure is similar to user/permissions The structure of Hashtable[] permissions is: ::= ::= NULL | {, }... ::= NULL | {, }... ::= NULL | (, )... ::= a string of user name ::= a string of role name ::= a string of group name ::= | { | | | | | | }... ::= a vector object contains nothing ::= object Permissions.P_VISIBLE ::= object Permissions.P_READ ::= object Permissions.P_WRITE ::= object Permissions.P_DELETE ::= object Permissions.P_EXECUTE ::= object Permissions.P_SCHEDULE ::= object Permissions.P_GRANT
  Returns:
    a `VersionRecord` object to represent a resource version that just added, or null if add resource failed.
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `NodeExistsException` - if a NodeExistsException occurs.
    `UnknownResource` - if no node can be found by the path
    `java.rmi.RemoteException`

### addResultInReport

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

  Add a result into specific report

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

### addFolder

    java.lang.String addFolder(java.lang.String userID,
                               java.lang.String parentPath,
                               java.util.Hashtable htFolder)
                               throws java.rmi.RemoteException,
                                      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.

  Add a sub-folder into specific folder

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

### 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 java.rmi.RemoteException,
                                         NoPrivilegeException,
                                         NodeExistsException,
                                         UnknownResource

  Add a sub-folder into specific folder

  Parameters:
    `userID` - the user ID
    `parentPath` - path to specify in which folder new resource will be added
    `folderName` - name of the new folder
    `htFolder` - a `Hashtable` that contains attributes of new folder, these attributes can be indicated by some defined constant in APIConst, for example: TAG_NODE_DESC, etc.
    `permissions` - a `Hashtable` array, which contains two `Hashtable` objects. The first `Hashtable` contains several user/permissions pair to represent permissions attached to specific path. In this `Hashtable` object, key is user name, value is a `Vector` object which contains all permissions (e.g. jet.server.api.Permissions.P_READ) that the user has on specific path. The second `Hashtable` object contains several role/permissions pair to represent defined permissions on specific path and its structure is similar to user/permissions The structure of Hashtable[] permissions is: ::= ::= NULL | {, }... ::= NULL | {, }... ::= NULL | (, )... ::= a string of user name ::= a string of role name ::= a string of group name ::= | { | | | | | | }... ::= a vector object contains nothing ::= object Permissions.P_VISIBLE ::= object Permissions.P_READ ::= object Permissions.P_WRITE ::= object Permissions.P_DELETE ::= object Permissions.P_EXECUTE ::= object Permissions.P_SCHEDULE ::= object Permissions.P_GRANT
  Returns:
    new folder's absolutePath, or null if add sub-folder failed.
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `NodeExistsException` - if a NodeExistsException occurs.
    `UnknownResource` - if no node can be found by the path
    `java.rmi.RemoteException`

### 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 java.rmi.RemoteException,
                                     NoPrivilegeException,
                                     NodeExistsException,
                                     UnknownResource

  Add files and sub-folders into specific folder

  Parameters:
    `userID` - the user ID
    `folderPath` - path to specify in which folder new resource will be added
    `fromRealDir` - the real directory which contains these files and sub-folders.
    `includesSubDir` - indicates that only add files to the folder.
    `htResource` - a `Hashtable` that contains attributes of new resource, these attributes can be indicated by some defined constant in APIConst, for example: TAG_NODE_NAME, TAG_RESOURCE_TYPE, etc.
    `permissions` - a `Hashtable` array, which contains two `Hashtable` objects. The first `Hashtable` contains several user/permissions pair to represent permissions attached to specific path. In this `Hashtable` object, key is user name, value is a `Vector` object which contains all permissions (e.g. jet.server.api.Permissions.P_READ) that the user has on specific path. The second `Hashtable` object contains several role/permissions pair to represent defined permissions on specific path and its structure is similar to user/permissions The structure of Hashtable[] permissions is: ::= ::= NULL | {, }... ::= NULL | {, }... ::= NULL | (, )... ::= a string of user name ::= a string of role name ::= a string of group name ::= | { | | | | | | }... ::= a vector object contains nothing ::= object Permissions.P_VISIBLE ::= object Permissions.P_READ ::= object Permissions.P_WRITE ::= object Permissions.P_DELETE ::= object Permissions.P_EXECUTE ::= object Permissions.P_SCHEDULE ::= 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
    `java.rmi.RemoteException`

### addResourcesToFolder

    void 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 java.rmi.RemoteException,
                                     NoPrivilegeException,
                                     NodeExistsException,
                                     UnknownResource

  Add files and sub-folders into specific folder

  Parameters:
    `userID` - the user ID
    `folderPath` - path to specify in which folder new resource will be added
    `fromRealDir` - the real directory which contains these files and sub-folders.
    `includesSubDir` - indicates that only add files to the folder.
    `isAutoConvert` - whether convert the old version report to lastest version report
    `htResource` - a `Hashtable` that contains attributes of new resource, these attributes can be indicated by some defined constant in APIConst, for example: TAG_NODE_NAME, TAG_RESOURCE_TYPE, etc.
    `permissions` - a `Hashtable` array, which contains two `Hashtable` objects. The first `Hashtable` contains several user/permissions pair to represent permissions attached to specific path. In this `Hashtable` object, key is user name, value is a `Vector` object which contains all permissions (e.g. jet.server.api.Permissions.P_READ) that the user has on specific path. The second `Hashtable` object contains several role/permissions pair to represent defined permissions on specific path and its structure is similar to user/permissions The structure of Hashtable[] permissions is: ::= ::= NULL | {, }... ::= NULL | {, }... ::= NULL | (, )... ::= a string of user name ::= a string of role name ::= a string of group name ::= | { | | | | | | }... ::= a vector object contains nothing ::= object Permissions.P_VISIBLE ::= object Permissions.P_READ ::= object Permissions.P_WRITE ::= object Permissions.P_DELETE ::= object Permissions.P_EXECUTE ::= object Permissions.P_SCHEDULE ::= 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
    `java.rmi.RemoteException`

### removeVersion

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

  Remove specific version.

  Parameters:
    `userID` - the user ID
    `versionID` - the version ID which want to be removed, user can get it from `VersionRecord`.
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `java.rmi.RemoteException` - if a RemoteException occurs.
  See Also:
    `VersionRecord`

### getAllUsers

    java.util.Vector getAllUsers(java.lang.String submitter)
                                 throws java.rmi.RemoteException

  Get all users

  Parameters:
    `submitter` - user id who sends this request
  Returns:
    a `Vector` object contains all user names, or null if submitter has not permission for get all users.
  Throws:
    `java.rmi.RemoteException` - if a RemoteException occurs.

### getUsersByRole

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

  Get users who has specific role

  Parameters:
    `submitter` - user id who sends this request
    `roleID` - the role ID
  Returns:
    a `Vector` object contains user names who has specific role, or null if submitter has not permission for get users by this role.
  Throws:
    `NoSuchRoleException` - if a NoPrivilegeException occurs.
    `java.rmi.RemoteException` - if a RemoteException occurs.

### getAllRoles

    java.util.Vector getAllRoles(java.lang.String submitter)
                                 throws java.rmi.RemoteException

  Get all roles

  Parameters:
    `submitter` - user id who sends this request
  Returns:
    a `Vector` object contains all role names, or null if submitter has not permission for get all roles.
  Throws:
    `java.rmi.RemoteException` - if a RemoteException occurs.

### getRolesByUser

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

  Get roles which specific user has

  Parameters:
    `submitter` - user id who sends this request
    `userID` - the user ID
  Returns:
    a `Vector` object contains role names which specific user has, or null if submitter has not permission for get roles by this user.
  Throws:
    `NoSuchUserException` - if a NoSuchUserException occurs
    `java.rmi.RemoteException` - if a RemoteException occurs.

### getReferRoles

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

  Get roles which specific user referred,

  Parameters:
    `userID` - the user ID
  Returns:
    a `Vector` object contains role names which specific user referred, these roles are specific user has but except administrator and everyone.
  Throws:
    `NoSuchUserException` - if a NoSuchUserException occurs
    `java.rmi.RemoteException` - if a RemoteException occurs.

### getReferGroups

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

  Get groups which specific user referred, these groups contain specific user

  Parameters:
    `userID` - the user ID
  Returns:
    a `Vector` object contains group names which specific user referred,
  Throws:
    `NoSuchUserException` - if a NoSuchUserException occurs
    `java.rmi.RemoteException` - if a RemoteException occurs.

### getReferUsers

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

  Get users which specific user referred, these users have same role except administrator and everyone with specific user

  Parameters:
    `userID` - the user ID
  Returns:
    a `Vector` object contains user names which specific user referred,
  Throws:
    `NoSuchUserException` - if a NoSuchUserException occurs
    `java.rmi.RemoteException` - if a RemoteException occurs.

### getPermissions

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

  Get defined permissions of users that attached to specific path

  Parameters:
    `userID` - the user ID who want to get permissions
    `path` - the path which attachs permissions
    `versionNumber` - version number to specify version of the path, if its value is 0, get the latest version.
  Returns:
    a `Hashtable` array, which contains two `Hashtable` objects. The first `Hashtable` contains several user/permissions pair to represent defined permissions attached to specific path, In this `Hashtable` object, key is user name, value is a `Vector` object which contains all permissions that the user has on specific path. The second `Hashtable` object contains several role/permissions pair to represent defined permissions on specific path. Or null if the user has not permission to get permissions on specific path.
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if no node can be found by the path.
    `java.rmi.RemoteException` - if a RemoteException occurs.

### getInheritedPermissions

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

  Get inherited permissions of users that attached to specific path

  Parameters:
    `userID` - the user ID who want to get permissions
    `path` - the path which attachs permissions
    `versionNumber` - version number to specify version of the path, if its value is 0, get the latest version.
  Returns:
    a `Hashtable` array, which contains two `Hashtable` objects. The first `Hashtable` contains several user/permissions pair to represent defined permissions attached to specific path, In this `Hashtable` object, key is user name, value is a `Vector` object which contains all permissions that the user has on specific path. The second `Hashtable` object contains several role/permissions pair to represent inherited permissions on specific path. Or null if the user has not permission to get permissions on specific path.
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if no node can be found by the path.
    `java.rmi.RemoteException` - if a RemoteException occurs.

### getImagesByCatalog

    java.util.Vector getImagesByCatalog(java.lang.String userID,
                                        java.lang.String catalog)
                                        throws NoPrivilegeException,
                                               UnknownResource,
                                               java.rmi.RemoteException

  Get inherited permissions of users that attached to specific path

  Parameters:
    `userID` - the user ID who want to get permissions
    `catalog` - the full catalog path. For example: /SunVMDemo/SunVMDemo.cat.
  Returns:
    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.
    `java.rmi.RemoteException` - if a RemoteException occurs.

### setPermissions

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

  Set permissions of users for specific path

  Parameters:
    `userID` - the user ID who want to set permissions
    `path` - the path which will be set attached permissions
    `versionNumber` - version number to specify version of the path, if its value is 0, get the latest version.
    `permissions` - a `Hashtable` array, which contains two `Hashtable` objects. The first `Hashtable` contains several user/permissions pair to represent permissions attached to specific path, In this `Hashtable` object, key is user name, value is a `Vector` object which contains all permissions that the user has on specific path. The second `Hashtable` object contains several role/permissions pair to represent defined permissions on specific path. The structure of Hashtable[] permissions is: ::= ::= NULL | {, }... ::= NULL | {, }... ::= NULL | (, )... ::= a string of user name ::= a string of role name ::= a string of group name ::= | { | | | | | | }... ::= a vector object contains nothing ::= object Permissions.P_VISIBLE ::= object Permissions.P_READ ::= object Permissions.P_WRITE ::= object Permissions.P_DELETE ::= object Permissions.P_EXECUTE ::= object Permissions.P_SCHEDULE ::= object Permissions.P_GRANT
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if no node can be found by the path.
    `java.rmi.RemoteException` - if a RemoteException occurs.

### setNodeProperties

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

  Set properties and permissions of users for specific path

  Parameters:
    `userID` - the user ID who want to set properties
    `path` - the path which will be set properties and permissions
    `htProps` - properties of 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 contains two `Hashtable` objects. The first `Hashtable` contains several user/permissions pair to represent permissions attached to specific path, In this `Hashtable` object, key is user name, value is a `Vector` object which contains all permissions that the user has on specific path. The second `Hashtable` object contains several role/permissions pair to represent defined permissions on specific path. The structure of Hashtable[] permissions is: ::= ::= NULL | {, }... ::= NULL | {, }... ::= NULL | (, )... ::= a string of user name ::= a string of role name ::= a string of group name ::= | { | | | | | | }... ::= a vector object contains nothing ::= object Permissions.P_VISIBLE ::= object Permissions.P_READ ::= object Permissions.P_WRITE ::= object Permissions.P_DELETE ::= object Permissions.P_EXECUTE ::= object Permissions.P_SCHEDULE ::= object Permissions.P_GRANT
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `NodeExistsException` - if a NodeExistsException occurs.
    `UnknownResource` - if a UnknownResource occurs.
    `java.rmi.RemoteException` - if a RemoteException occurs.

### setNodeProperties

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

  Set properties and permissions of users for specific version of path

  Parameters:
    `userID` - the user ID who want to set properties
    `path` - the path which will be set propertiess and permissions for attached version
    `versionNumber` - the version number, if it is zero, it means the path self
    `htProps` - properties of specific node, these properties are indicated by APIConst.TAG_EXPIRED_TIME, etc. all values are represented by a `String`.
    `permissions` - a `Hashtable` array, which contains two `Hashtable` objects. The first `Hashtable` contains several user/permissions pair to represent permissions attached to specific path, In this `Hashtable` object, key is user name, value is a `Vector` object which contains all permissions that the user has on specific path. The second `Hashtable` object contains several role/permissions pair to represent defined permissions on specific path. The structure of Hashtable[] permissions is: ::= ::= NULL | {, }... ::= NULL | {, }... ::= NULL | (, )... ::= a string of user name ::= a string of role name ::= a string of group name ::= | { | | | | | | }... ::= a vector object contains nothing ::= object Permissions.P_VISIBLE ::= object Permissions.P_READ ::= object Permissions.P_WRITE ::= object Permissions.P_DELETE ::= object Permissions.P_EXECUTE ::= object Permissions.P_SCHEDULE ::= object Permissions.P_GRANT
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if a UnknownResource occurs.
    `java.rmi.RemoteException` - if a RemoteException occurs.

### setResultVersionProperties

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

  Set properties of users for specific result version of report

  Parameters:
    `userID` - the user ID who want to set properties
    `report` - the report which will be set propertiess for attached result version
    `versionNumber` - the version number, if it is zero or a invalid version number, no action will perform.
    `htProps` - properties of specific node, these properties are indicated by APIConst.TAG_EXPIRED_TIME, etc. all values are represented by a `String`.
  Throws:
    `NoPrivilegeException` - if a NoPrivilegeException occurs.
    `UnknownResource` - if a UnknownResource occurs.
    `java.rmi.RemoteException` - if a RemoteException occurs.

### getRealPathOfNode

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

  Get real path property of a node, which is specifid by path

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

### refreshFolders

    java.lang.String refreshFolders(java.lang.String userID)
                                    throws java.rmi.RemoteException

  Refresh the folders represent in UI for specific user. JREntServer create a xml file for every user, all folders can be shown in UI for the user are represented in this xml file, if a user want to refresh his folder tree in UI, this method should be invoked.

  Parameters:
    `userID` - the user id.
  Returns:
    the xml file name
  Throws:
    `java.rmi.RemoteException` - if a RemoteException occurs.

### getLatestVersionNumber

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

  Get the latest version number of specific resource.

  Parameters:
    `resourcePath` - resource path to specify a resource
  Returns:
    the latest verison number of specific resource, if 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.
    `java.rmi.RemoteException` - if a RemoteException occurs.

### getLatestVersionNumber

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

  Get the latest version number of specific resource.

  Parameters:
    `resourcePath` - resource path to specify a resource
    `userID` - the user id
  Returns:
    the latest verison number of specific resource, if 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.
    `java.rmi.RemoteException` - if a RemoteException occurs.

### isAdminUser

    boolean isAdminUser(java.lang.String userID)
                        throws java.rmi.RemoteException

  Check if a user is an administrator

  Parameters:
    `userID` - the user id
  Returns:
    true if the user is an administrator, otherwise false.
  Throws:
    `java.rmi.RemoteException` - if a RemoteException occurs.

### isNodeExist

    boolean isNodeExist(java.lang.String path,
                        java.lang.String userName)
                        throws java.rmi.RemoteException

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

  Parameters:
    `path` - the specific resource path
    `userName` - the user name
  Returns:
    true if node does exist, otherwise false.
  Throws:
    `java.rmi.RemoteException`

### getResultVersionByNodeID

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

  Get a result version by node id

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

### checkPermission

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

  Check specific user has or does not have a permission on specific resource path.

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

### checkPermission

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

  Check specific user has or does not have a permission on 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, it should be one of the permissions that defined in jet.server.api.Permissions.
  Returns:
    true if user has specific permission on the resource, otherwise false.
  Throws:
    `NoSuchUserException` - if NoSuchUserException occurs
    `UnknownResource` - if no node can be found by the path
    `java.rmi.RemoteException` - if RemoteException occurs

### loadUserResAliasToMem

    void loadUserResAliasToMem(java.lang.String userID)
                               throws java.rmi.RemoteException

  load resource alias of user and save them into memory

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

### rmUserResAliasFromMem

    void rmUserResAliasFromMem(java.lang.String userID)
                               throws java.rmi.RemoteException

  remove resource alias of user from memory

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

### getInheritedLinkedCatalog

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

  Get inherited linked catalog

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

### isCatalogLinked

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

  Check whether the catalog is linked

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

### getEnabledCustomFieldNames

    java.util.Vector getEnabledCustomFieldNames()
                                                throws java.rmi.RemoteException

  Get all names of enabled custom fields

  Returns:
    all names of enabled custom fields.
  Throws:
    `NoPrivilegeException`
    `UnknownResource`
    `java.rmi.RemoteException`
  Since:
    version 9.1

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