Interface SaRMIServerCommand

  • All Superinterfaces:
    java.rmi.Remote

    public interface SaRMIServerCommand
    extends java.rmi.Remote
    Server-side Command interface representing the functionality of the core server.
    • Method Summary

      All Methods Instance Methods Abstract Methods Deprecated Methods 
      Modifier and Type Method Description
      void addComment​(int token, java.lang.String comment, java.lang.String taskUID, int level)  
      void addHistory​(int token, java.lang.String description, java.lang.String taskUID)  
      void addToFolder​(int token, java.lang.String folderTableDDC, java.lang.String documentId, java.lang.String documentDDC, java.lang.String folderId)
      Adds the document to a given folder.
      SaSaveInfo cacheDocument​(int token, boolean isNew, int commitMode, java.lang.String versionComment, java.lang.String xhDoc, java.lang.String ddcName, java.lang.String acls)
      Caches the current document to the backend.
      void changePassword​(java.lang.String user, java.lang.String oldPassword, java.lang.String client, java.lang.String newPassword)
      Changes the password of an existing user.
      void checkoutDocument​(int token, java.lang.String documentHdoc)
      Checkout the document with the given HDOC.
      void checkoutDocument​(int token, java.lang.String documentHdoc, boolean withCloudShare, int[] shareBaseDocIds)
      Checkout the document with filesystem/ShareBase for the given HDOC.
      SapDocInfo checkSapUrl​(int clientToken, java.lang.String url)
      Checks the given SAP URL on the R/Link server and returns, if successfull, the HDOC and the DDC.
      void clearContent​(int token)
      Clears all content of the opened document.
      void closeDocument​(int token, com.saperion.jni.SaJNIDocHandle handle)
      Manually closing of a open document.
      boolean closeSession​(int token, com.saperion.connector.authentication.Session session)
      Close the given Session of the user identified by the given token
      java.lang.String copyFolder​(int token, java.lang.String folderTableDDC, java.lang.String folderId, java.lang.String destinationId, java.lang.String beforeChild, boolean withDocuments)
      Copies the given node and all it’s children to the destination.
      long countTasks​(int token, int[] ids, java.lang.String filter, java.util.Map<java.lang.String,​java.lang.Object> filterParams)
      Counts the tasks that are contained in the specified inbox(es).
      SaSaveInfo createDocument​(int token, java.lang.String ddcName, java.util.List<SaPropertyValue> values)
      Caches a new document with the given parameters.
      void createExternalStorageFolderMapping​(int token, SaperionExternalStorageMappingInfo mappingInfo)
      Stores the mapping information about Saperion document and External Storage folder
      java.lang.String createFolder​(int token, SaFolderSaveInfo info)
      Creates a new node below a given node.
      SaSaveInfo createLink​(int token, LinkInfo link)
      Creates a SAPERION Link into one Archive for an existing Document.
      SaSaveInfo deleteDocument​(int token, int mode, java.lang.String hdoc)
      Delete a document.
      int deleteExternalStorageFolderMapping​(int token, java.util.Date expiryTime, java.util.List<ExternalStorageDocUploadStatus> statusList)
      Deletes external storage mappings for given status and older than the given time
      void deleteFolder​(int token, java.lang.String folderTableDDC, java.lang.String folderId)
      Deletes a given node.
      boolean deleteSetting​(int token, java.lang.String name, java.lang.String section, boolean isLong)
      Deletes a setting in the database.
      void discardCheckout​(int token, java.lang.String documentHdoc)
      Discard a checked out document.
      void discardDocument​(int token)
      Discards the document identified by the tokens handle.
      java.lang.String executeCommand​(int token, ContextInfo contextInfo)
      Performs the given command.
      void finishSQLTransaction​(int token, boolean commit, java.lang.String ddcName)
      Finish SQL transaction.
      void finishTransaction​(int token, boolean commit)
      Finish the transaction in the backend system.
      java.lang.String getACLNames​(int token, java.lang.String hDoc)
      Reads the ACL's for the given document.
      SaACLRights getACLRights​(int token, java.lang.String[] acls)
      Reads the rights for the given ACL's.
      java.util.List<SaAcl> getAcls​(int token)
      Reads all existing Acls.
      java.util.List<java.lang.String> getAllACLs​(int token)
      Deprecated.
      use getAcls(int) instead
      java.lang.String getAnnotations​(int token, int indexOfContentElement, java.lang.String hDoc, boolean currentRevision)
      Reads the annotations from the given document.
      int getArchivedSize​(int clientToken, java.lang.String hDoc)
      Returns the total document size in archive.
      java.util.List<UsersRights> getAuthorizedUsers​(int clientToken, java.lang.String hDoc, java.lang.String rights, MatchKind match)
      Returns the users, that have specific rights on a document.
      BoxCount getBoxCount​(int token, int boxId, BoxCountType type, java.util.Map<java.lang.String,​java.lang.Object> parameters)
      Returns the number of all elements and of all unread elements of the inbox identified by the given id.
      java.util.HashMap<java.lang.Integer,​BoxCount> getBoxCounts​(int token, java.util.Set<java.lang.Integer> boxId, BoxCountType type, java.util.Map<java.lang.String,​java.lang.Object> parameters)
      Returns the number of all elements and of all unread elements of the inboxes identified by the given ids.
      java.util.List<BoxDefinition> getBoxDefinitions​(int token)
      Reads the box definitions.
      java.util.Collection<CommandInfo> getCommandInfos​(int token, java.lang.String docUID)
      Reads all possible transitions for this task.
      java.util.Collection<CommandInfo> getCommandInfos​(int token, java.lang.String docUID, boolean transitionsOnly)
      Reads all possible transitions for this task.
      java.util.List<CommentInfo> getCommentInfos​(int token, java.lang.String taskUID)
      Reads the comments for the given task.
      java.util.List<java.util.List<HistoryInfo>> getCompleteHistoryInfos​(int token, java.lang.String docUID)
      Reads the histories and comments for the given document.
      com.lexmark.saperion.administration.RoleType getCurrentUserRole​(int token)  
      DDC getDDC​(int clientToken, java.lang.String ddcName)
      Returns information about the specified DDC.
      long getDocumentFolderCount​(int token, java.lang.String folderTableDDC, java.lang.String documentDDC, java.lang.String sysRowId)
      Returns the total count over all folders from all users in which the specified document is contained in.
      java.util.List<SaDocumentInfo> getDocumentFolders​(int token, java.lang.String folderTableDDC, java.lang.String documentDDC, java.lang.String sysRowId)
      Returns a list of folder properties which contains all nodes the document is contained in.
      boolean getEventsEnabled​(int clientToken)
      Returns whether events (e.g.
      java.util.List<SaperionExternalStorageMappingInfo> getExternalStorageFoldersForUpload​(int token)
      Fetches all folders of all External Storage services from where documents need to be uploaded
      java.util.List<SaperionExternalStorageMappingInfo> getExternalStorageFoldersForUpload​(int token, ExternalStorageType storageType)
      Fetches all folders of provided External Storage from where documents need to be uploaded
      SaperionExternalStorageMappingInfo getExternalStorageMapping​(int token, java.lang.String sysRowId)
      Fetches the external storage mapping for the provided SysRowId
      SaFieldDescription[] getFieldDescriptions​(int token, java.lang.String ddcName)
      Reads the field descriptions for a given DDC.
      java.util.List<SaDocumentInfo> getFolderChildren​(int token, java.lang.String folderTableDDC, java.lang.String folderId, int depth, SaQueryInfo filter, int allowedMaxNrOfChildFolders)
      Returns a cursor with the children of the given node.
      SaFolderClass getFolderClass​(int clientToken, java.lang.String className)
      Reads the folder class with the given name.
      java.util.List<SaDocumentInfo> getFolderFromPath​(int token, java.lang.String folderTableDDC, java.lang.String startNodeId, java.lang.String folderPath, boolean exact)
      Returns the node(s) which match to the given path.
      SaDocumentInfo getFolderInfo​(int token, java.lang.String folderTableDDC, java.lang.String folderId, boolean forceLoadVariables)
      Reads the folder info object for the given folder.
      SaDocumentInfo getFolderParent​(int token, java.lang.String folderTableDDC, java.lang.String folderId)
      Returns the parent of the given node.
      SaDocAccessData getFolderRights​(int token, java.lang.String folderTableDDC, java.lang.String folderId)
      Returns the rights mask for the given folder and user.
      java.util.Set<FolderUpdateInfo> getFolderUpdateInfo​(int clientToken, java.util.Map<java.lang.String,​java.lang.Long> sysrowids)
      Calculates a cut set of folders that shall be refreshed on client side.
      java.lang.String getFulltext​(int token, java.lang.String ddcName, java.lang.String sysRowId, java.lang.String hdoc, java.lang.String fieldName, long length)
      Reads the fulltext information for the given document with the given SYSROWID in the given DDC.
      java.util.Map<java.lang.String,​java.lang.String> getFullTextFields​(int token, java.lang.String ddcName, java.util.List<java.lang.String> fullTextFields, java.lang.String hdoc)
      Fetches values of Full text columns
      java.lang.String getHDocForSysRowId​(int token, java.lang.String sysRowId, java.lang.String ddcName)
      Searchs the HDOC for the given SysRowId.
      java.util.List<HistoryInfo> getHistoryInfos​(int token, java.lang.String taskUID)
      Reads the history for the given task.
      java.util.List<java.lang.String> getIdsFromQuery​(int token, java.lang.String query, boolean isSQL)
      Executes a HQL query and returns the results as a string list.
      Injector getInjector​(int clientToken)
      This method returns the injector for the given session.
      java.util.List<java.lang.String> getInvolvedUsers​(int token, java.lang.String hDoc)
      Reads all users involved in the set of ACL's.
      SaLockInfo getLockInfo​(int token, java.lang.String sysRowId)
      Gets the lock info for a given node.
      WorkflowMember getMember​(int token, WorkflowMember member, int depth, java.lang.String filter)
      Reads direct workflow member.
      WorkflowMember getMembers​(int token)
      Reads the member.
      com.saperion.jni.SaJNIDocAccessData getNodeAccessData​(int token, java.lang.String hdoc)
      Opens the document identified by hdoc and returns an object containing all access right data information for the session user.
      boolean getOutOfOffice​(int token)
      Get the out of office status for the logged on user.
      TaskInfo getParentTask​(int token, java.lang.String taskID)
      Reads the parent task info for the given ID.
      java.lang.String getRMIVersion()
      Determine the RMI interface version.
      Setting getSetting​(int token, java.lang.String name, java.lang.String section, boolean isLong)
      Reads the setting with the specified name and section.
      com.lexmark.saperion.remote.common.operations.document.content.stream.StreamingConfiguration getStreamingConfiguration()
      This method returns the current streaming configuration.
      java.util.List<SaDocumentInfo> getStringQueryResult​(int token, SaQueryInfo queryInfo)
      Executes a given HQL string and returns the results as list.
      java.lang.String getSubstitute​(int token)
      Get the substitute for the logged on user.
      java.util.List<java.lang.String> getSystemFiles​(int clientToken, SystemFileKind kind, java.lang.String filter)
      Gets the system files of a specific kind.
      TaskInfo getTask​(int token, java.lang.String taskID)
      Reads the task info for the given ID.
      java.util.List<TaskAuditInfo> getTaskAuditList​(int token, int[] ids, java.lang.String filter, java.util.Map<java.lang.String,​java.lang.Object> parameter)
      Reads the task for this user.
      java.util.List<TaskInfo> getTaskList​(int token, int[] ids, java.lang.String filter, java.util.Map<java.lang.String,​java.lang.Object> parameter)
      Reads the task for this user.
      byte[] getThumbnail​(int token, java.lang.String hDoc, int widthX, int widthY, boolean color)
      Reads the thumbnail of the given document.
      int[] getUserIdsForQuery​(int token)
      Read the userids.
      java.util.List<java.lang.String> getUsers​(int token, java.lang.String filter)
      Reads a list of filtered users.
      SaUserSetting getUserSetting​(int token, java.lang.String key)
      Reads the user-specific settings for the given key.
      java.util.List<java.lang.String> getVersionList​(int token, java.lang.String ddcName, java.lang.String sysrowID)
      Reads the versionlist for the given document.
      java.util.List<java.lang.String> getWorkflowDefinitions​(int token)
      Reads all available workflow definitions.
      java.util.List<ProcessDefinitionDescriptor> getWorkflowDefinitions​(java.lang.String ddcName, int token)
      Returns the workflow definitions that are allowed to be used for documents contained in the specified DDC.
      <T extends java.io.Serializable>
      T
      invoke​(int clientToken, com.lexmark.saperion.remote.common.operations.Operation<T,​SaBasicException,​LegacyConnection> operation)
      This method invokes an Operation on the server side.
      boolean isAlive​(int token)
      Checks, if the token has minimum lifetime before timeout.
      boolean isRevisionEnabled​(int token, java.lang.String ddcName)
      Gets the information whether the provided ddc table contains the fields required for revisions.
      java.util.List<com.saperion.connector.authentication.Session> listActiveSessions​(int token)
      List the active sessions of the user identified by given token.
      java.lang.String[] loadDDCNames​(int token)
      Retrieves the avaiable DDC names.
      java.lang.String[] loadFolderDDCNames​(int token)
      Retrieves the avaiable folder DDC names.
      byte[] loadSystemFile​(int clientToken, SystemFileKind kind, java.lang.String name)
      Loads a system file of a specific kind.
      java.lang.String loadWorkflowDDCName()
      Retrieves the workflow DDC name.
      boolean lockNode​(int token, java.lang.String sysRowId, java.lang.String ddcName, int lockType, boolean sessionScoped)
      Locks a node.
      void logClientEvent​(int token, java.lang.String hdoc, SaConstants.ProtoEvents event, java.lang.String remark)
      Adds an audit log event.
      boolean logoff​(int token)
      Logoff the user from the server instance.
      com.saperion.connector.authentication.Session logon​(com.lexmark.saperion.remote.common.authentication.Credentials credentials)
      Logon with the passed credentials.
      com.saperion.connector.authentication.Session logon​(com.lexmark.saperion.remote.common.authentication.Credentials credentials, com.saperion.connector.authentication.SessionInfo sessionInfo)
      Logon with the passed credentials and associate the given session information.
      void moveFolder​(int token, java.lang.String folderTableDDC, java.lang.String folderId, java.lang.String destinationId, java.lang.String beforeChild)
      Moves the given node to a new destination.
      void moveToFolder​(int token, java.lang.String folderTableDDC, java.lang.String documentId, java.lang.String documentDDC, java.lang.String folderId, java.lang.String destinationId)
      Moves the document’s filing to the given node.
      <ResultType extends java.io.Serializable,​ExceptionType extends java.lang.Exception>
      ResultType
      newInvoke​(int clientToken, com.lexmark.saperion.remote.common.operations.Operation<ResultType,​ExceptionType,​com.lexmark.saperion.remote.common.Connection> operation)
      This method invokes an Operation that throws ecm exceptions on the server side.
      com.saperion.jni.SaJNIReadBuffer readDocumentFirst​(int token, java.lang.String hdoc, boolean currentRevision, int element)
      Opens an existing document with the given hdoc and returns a document handle for the specified element (= sub-document) as well as the buffer containing the content data of the element.
      com.saperion.jni.SaJNIReadBuffer readDocumentFirst​(int token, java.lang.String hdoc, boolean currentRevision, int element, boolean withAnnotations)
      Opens an existing document with the given hdoc and returns a document handle for the specified element (= sub-document) as well as the buffer containing the content data of the element.
      SaPropertyValue[] readDocumentMetadata​(int token, java.lang.String documentHDOC, java.lang.String ddcName, java.lang.String[] fields)
      Reads the metadata of the document with the given ID.
      com.saperion.jni.SaJNIReadBuffer readDocumentNext​(int token, com.saperion.jni.SaJNIDocHandle handle)
      Reads the next bytes from the open document, decribed in the handle.
      SaVersionData readVersionMetadata​(int token, java.lang.String versionID)
      Reads the version metadata of the document with the given ID.
      SaVersionData readVersionMetadata​(int token, java.lang.String versionID, boolean resolveLinks)
      Reads the version metadata of the document with the given ID.
      void releaseDocument​(int token, java.lang.String documentHdoc, java.lang.String comment)
      Release the document with the given HDOC.
      void removeElement​(int token, int element)
      Removes a existing content element.
      void removeElement​(int token, java.lang.Integer[] elements)
      Removes a series of existing content elements.
      void removeFromFolder​(int token, java.lang.String folderTableDDC, java.lang.String documentSysRowId, java.lang.String documentDDC, java.lang.String folderId)
      Remove the document filing from the given node.
      java.lang.String resolveLatestHdoc​(int token, java.lang.String oldHdoc)
      Resolves the hdoc of the latest version of the document identified by the given hdoc.
      SaSaveInfo restoreVersion​(int token, java.lang.String versionID)
      Restores the given version to the actual version.
      SaSaveInfo saveDocument​(int token, java.lang.String nodeHdoc, java.lang.String ddcName, java.util.List<SaPropertyValue> values)
      Saves the document parameters to the document.
      SaSaveInfo saveDocument​(int token, java.lang.String nodeHdoc, java.lang.String ddcName, java.util.List<SaPropertyValue> values, boolean resolveLinks)
      Saves the document parameters to the document.
      java.util.Set<SaFolderClass> searchFolderClass​(int clientToken, SaFolderClassSearchInfo searchInfo)
      Searches for folder classes with the specified properties.
      java.util.List<SaDocumentInfo> searchFolderDocuments​(int token, java.lang.String folderTableDDC, java.lang.String folderId, SaQueryInfo hqlFilter)
      HQL search extended with additional folder informations and depth.
      SettingSearchResult searchSettings​(int token, SettingSearchInfo searchInfo)
      Searches for settings.
      void sendBarcode​(int clientToken, java.lang.String indexMask, java.lang.String docUid, java.lang.String contentRep, java.lang.String sid, java.lang.String docType, java.lang.String value, int mandant)
      Send barcode to SAP.
      SaSaveInfo setACLName​(int token, java.lang.String ddcname, java.lang.String hDoc, java.lang.String acl, int commitMode, java.lang.String versionComment)
      Sets the given ACL to the node.
      void setAnnotations​(int token, java.lang.String hDoc, int indexOfContentElement, java.lang.String annotations)
      Sets the given annotations to the document.
      void setDocumentState​(int clientToken, java.lang.String ddcName, java.lang.String hdoc, java.lang.String value)
      Sets the SYSDOCUMENTSTATE value of a document to the specified value without creating a new revision.
      void setElementMark​(int token, int element)
      Mark the content element.
      void setEventsEnabled​(int clientToken, boolean enabled)
      Sets whether events (e.g.
      void setFolderAcl​(int token, java.lang.String folderTableDDC, java.lang.String folderId, java.lang.String aclName)
      Sets an ACL for the given folder.
      void setLocale​(int token, java.util.Locale local)
      Set the locale for localization.
      void setOutOfOffice​(int token, boolean isOutOfOffice)
      Set the out of office status for the logged on user.
      void setSetting​(int token, Setting setting)
      Persists the setting in the database.
      void setSubstitute​(int token, java.lang.String name)
      Set the substitute for the logged on user.
      void setUserSetting​(int token, SaUserSetting value)
      Persists user-specific settings to the saperion backend.
      void setVariables​(int clientToken, int element, java.util.Map<java.lang.String,​java.lang.String> variables)
      Method to set the Variables for an Content-Object or the Structure itself.
      void startSQLTransaction​(int token, java.lang.String ddcName)
      Start SQL transaction.
      void startTransaction​(int token)
      Starts a transaction in the backend system.
      SaSaveInfo storeDocument​(int token, boolean isNew, int commitMode, java.lang.String versionComment, java.lang.String ddcName, java.lang.String acls)
      Stores the actual document to the backend.
      SaSaveInfo storeDocument​(int token, boolean isNew, int commitMode, java.lang.String versionComment, java.lang.String ddcName, java.lang.String acls, boolean checkin)
      Stores the actual document to the backend.
      void storeSystemFile​(int clientToken, SystemFileKind kind, java.lang.String name, byte[] data)
      Stores a system file of a specific kind.
      boolean unlockNode​(int token, java.lang.String sysRowId, java.lang.String ddcName)
      Unlocks a node.
      void updateExternalStorageUploadStatus​(int token, java.lang.String folderId, ExternalStorageDocUploadStatus status, ExternalStorageType storageType)
      Updates the upload status of External Storage folder
      void updateFolder​(int token, java.lang.String folderTableDDC, java.lang.String folderId, java.util.List<SaPropertyValue> values)
      Updates a given node with the given properties.
      long writeDocument​(int token, SerializableStream stream)
      Write document.
      long writeDocument​(int token, java.lang.String filename, byte[] buffer, boolean isLast, int element)
      Writes given binary content to an existing document object.
      long writeDocument​(int token, java.lang.String filename, byte[] buffer, boolean isLast, int element, boolean doStreaming)
      Writes given binary content to an existing document object.
    • Method Detail

      • isRevisionEnabled

        boolean isRevisionEnabled​(int token,
                                  java.lang.String ddcName)
                           throws java.rmi.RemoteException
        Gets the information whether the provided ddc table contains the fields required for revisions.
        Parameters:
        token - user token number
        ddcName - table/jcr workspace name
        Returns:
        true, if the revision fields are present. False otherwise.
        Throws:
        java.rmi.RemoteException - Remote exception
      • logon

        com.saperion.connector.authentication.Session logon​(com.lexmark.saperion.remote.common.authentication.Credentials credentials)
                                                     throws java.rmi.RemoteException,
                                                            com.lexmark.saperion.exceptions.EcmException
        Logon with the passed credentials.
        Parameters:
        credentials - credentials which should be used for logon
        Returns:
        the session information about the created one
        Throws:
        java.rmi.RemoteException - error on user login
        com.lexmark.saperion.exceptions.EcmException
      • logon

        com.saperion.connector.authentication.Session logon​(com.lexmark.saperion.remote.common.authentication.Credentials credentials,
                                                            com.saperion.connector.authentication.SessionInfo sessionInfo)
                                                     throws java.rmi.RemoteException,
                                                            com.lexmark.saperion.exceptions.EcmException
        Logon with the passed credentials and associate the given session information.
        Parameters:
        credentials - The credentials which should be used for logon
        sessionInfo - The session information
        Returns:
        An instance of Session
        Throws:
        java.rmi.RemoteException
        com.lexmark.saperion.exceptions.EcmException
      • listActiveSessions

        java.util.List<com.saperion.connector.authentication.Session> listActiveSessions​(int token)
                                                                                  throws java.rmi.RemoteException
        List the active sessions of the user identified by given token.
        Parameters:
        token -
        Returns:
        List of Session
        Throws:
        java.rmi.RemoteException
      • closeSession

        boolean closeSession​(int token,
                             com.saperion.connector.authentication.Session session)
                      throws java.rmi.RemoteException
        Close the given Session of the user identified by the given token
        Parameters:
        token -
        session -
        Returns:
        true if logged off successfully, false otherwise
        Throws:
        java.rmi.RemoteException
      • getUserIdsForQuery

        int[] getUserIdsForQuery​(int token)
                          throws java.rmi.RemoteException
        Read the userids.
        Parameters:
        token - User token
        Returns:
        User ids
        Throws:
        java.rmi.RemoteException - SaRMICommandException
      • logoff

        boolean logoff​(int token)
                throws java.rmi.RemoteException
        Logoff the user from the server instance.
        Parameters:
        token - User token
        Returns:
        True, if done.
        Throws:
        java.rmi.RemoteException - error on user logoff
      • setLocale

        void setLocale​(int token,
                       java.util.Locale local)
                throws java.rmi.RemoteException
        Set the locale for localization.
        Parameters:
        token - User token
        local - Locale
        Throws:
        java.rmi.RemoteException - Exception
      • getMembers

        WorkflowMember getMembers​(int token)
                           throws java.rmi.RemoteException
        Reads the member.
        Parameters:
        token - User token
        Returns:
        Member tree
        Throws:
        java.rmi.RemoteException - Remote exception
      • getMember

        WorkflowMember getMember​(int token,
                                 WorkflowMember member,
                                 int depth,
                                 java.lang.String filter)
                          throws java.rmi.RemoteException
        Reads direct workflow member.
        Parameters:
        token - User token
        member - workflow member, witch direct children will be returned
        depth - depth of the returned children.
        filter - filter string
        Returns:
        Member tree
        Throws:
        java.rmi.RemoteException - Remote exception
      • loadDDCNames

        java.lang.String[] loadDDCNames​(int token)
                                 throws java.rmi.RemoteException
        Retrieves the avaiable DDC names.
        Parameters:
        token - User token
        Returns:
        Array of DDC names
        Throws:
        java.rmi.RemoteException - Error on the saperion system
      • loadFolderDDCNames

        java.lang.String[] loadFolderDDCNames​(int token)
                                       throws java.rmi.RemoteException
        Retrieves the avaiable folder DDC names.
        Parameters:
        token - User token
        Returns:
        Array of folder DDC names
        Throws:
        java.rmi.RemoteException - Error on the saperion system
      • loadWorkflowDDCName

        java.lang.String loadWorkflowDDCName()
                                      throws java.rmi.RemoteException
        Retrieves the workflow DDC name.
        Returns:
        workflow DDC names
        Throws:
        java.rmi.RemoteException - Error on the saperion system
      • getFieldDescriptions

        SaFieldDescription[] getFieldDescriptions​(int token,
                                                  java.lang.String ddcName)
                                           throws java.rmi.RemoteException
        Reads the field descriptions for a given DDC.
        Parameters:
        token - User token
        ddcName - DDC name
        Returns:
        Array of field description objects
        Throws:
        java.rmi.RemoteException - Error on the saperion system
      • getUserSetting

        SaUserSetting getUserSetting​(int token,
                                     java.lang.String key)
                              throws java.rmi.RemoteException
        Reads the user-specific settings for the given key.
        Parameters:
        token - User token
        key - Dot-delimited key
        Returns:
        SaUserSetting
        Throws:
        java.rmi.RemoteException - Error on the saperion system
      • setUserSetting

        void setUserSetting​(int token,
                            SaUserSetting value)
                     throws java.rmi.RemoteException
        Persists user-specific settings to the saperion backend.
        Parameters:
        token - User token
        value - user setting object
        Throws:
        java.rmi.RemoteException - Error on the saperion system
      • getSetting

        Setting getSetting​(int token,
                           java.lang.String name,
                           java.lang.String section,
                           boolean isLong)
                    throws java.rmi.RemoteException
        Reads the setting with the specified name and section.
        Parameters:
        token - User token
        name - the setting's name
        section - the setting's section
        isLong - whether this is a setting with a long (>2KB) value or not
        Returns:
        the setting or null if no setting with the given key and section was found
        Throws:
        java.rmi.RemoteException - Error when retrieving the setting
      • setSetting

        void setSetting​(int token,
                        Setting setting)
                 throws java.rmi.RemoteException
        Persists the setting in the database.
        Parameters:
        token - User token
        setting - the setting to persist
        Throws:
        java.rmi.RemoteException - Error when persisting the setting
      • deleteSetting

        boolean deleteSetting​(int token,
                              java.lang.String name,
                              java.lang.String section,
                              boolean isLong)
                       throws java.rmi.RemoteException
        Deletes a setting in the database.
        Parameters:
        token - User token
        name - the name of the setting to delete
        section - the section of the setting to delete
        isLong - whether this is a setting with a long (>2KB) value or not
        Returns:
        true if setting was deleted, false if there was no such setting
        Throws:
        java.rmi.RemoteException - Error when deleting the setting
      • getAllACLs

        @Deprecated
        java.util.List<java.lang.String> getAllACLs​(int token)
                                             throws java.rmi.RemoteException
        Deprecated.
        use getAcls(int) instead
        Reads all existing ACL names.
        Parameters:
        token - User token
        Returns:
        List of ACL names
        Throws:
        java.rmi.RemoteException - Remote exception
      • getAcls

        java.util.List<SaAcl> getAcls​(int token)
                               throws java.rmi.RemoteException
        Reads all existing Acls.
        Parameters:
        token - User token
        Returns:
        List of ACLs
        Throws:
        java.rmi.RemoteException - Remote exception
      • readDocumentFirst

        com.saperion.jni.SaJNIReadBuffer readDocumentFirst​(int token,
                                                           java.lang.String hdoc,
                                                           boolean currentRevision,
                                                           int element)
                                                    throws java.rmi.RemoteException
        Opens an existing document with the given hdoc and returns a document handle for the specified element (= sub-document) as well as the buffer containing the content data of the element. If this was the last block, the document is automatically closed.
        Parameters:
        token - User token
        hdoc - Document HDOC
        currentRevision - flag indicating that the current revision of the document should be retrieved by resolving hdoc
        element - Element number, starting with 1
        Returns:
        The document handle and the buffer with the content
        Throws:
        java.rmi.RemoteException - Error on the saperion system
      • readDocumentFirst

        com.saperion.jni.SaJNIReadBuffer readDocumentFirst​(int token,
                                                           java.lang.String hdoc,
                                                           boolean currentRevision,
                                                           int element,
                                                           boolean withAnnotations)
                                                    throws java.rmi.RemoteException
        Opens an existing document with the given hdoc and returns a document handle for the specified element (= sub-document) as well as the buffer containing the content data of the element. If this was the last block, the document is automatically closed.
        Parameters:
        token - User token
        hdoc - Document HDOC
        currentRevision - flag indicating that the current revision of the document should be retrieved by resolving hdoc
        element - Element number, starting with 1
        withAnnotations - if true, annotations will be saved on the document
        Returns:
        The document handle and the buffer with the content
        Throws:
        java.rmi.RemoteException - Error on the saperion system
      • readDocumentMetadata

        SaPropertyValue[] readDocumentMetadata​(int token,
                                               java.lang.String documentHDOC,
                                               java.lang.String ddcName,
                                               java.lang.String[] fields)
                                        throws java.rmi.RemoteException,
                                               SaSystemException
        Reads the metadata of the document with the given ID.
        Parameters:
        token - Token
        documentHDOC - The ID of the document (SYSROWID)
        ddcName - The name of the database definition
        fields - Fieldnames to be read. If empty or null, all fields will be read.
        Returns:
        The Metadata of the document represented as an array of SaPropertyValue instances.
        Throws:
        java.rmi.RemoteException - RemoteException
        SaSystemException
      • getFulltext

        java.lang.String getFulltext​(int token,
                                     java.lang.String ddcName,
                                     java.lang.String sysRowId,
                                     java.lang.String hdoc,
                                     java.lang.String fieldName,
                                     long length)
                              throws java.rmi.RemoteException
        Reads the fulltext information for the given document with the given SYSROWID in the given DDC.
        Parameters:
        token - Token
        ddcName - DDC name of the document
        sysRowId - SYSROWID of the document. Can be null if hdoc is set. If both hdoc and sysRowId are set, hdoc will be used.
        hdoc - HDOC of the document. Can be null if sysRowId is set. If both hdoc and sysRowId are set, hdoc will be used.
        fieldName - name of the fulltext field to retrieve content from. If not set, the first fulltext field of the DDC will be used
        length - maximum length of content to retrieve. If -1, the complete content will be returned.
        Returns:
        Content of the fulltext for this document
        Throws:
        java.rmi.RemoteException - RemoteException
      • getThumbnail

        byte[] getThumbnail​(int token,
                            java.lang.String hDoc,
                            int widthX,
                            int widthY,
                            boolean color)
                     throws java.rmi.RemoteException
        Reads the thumbnail of the given document.
        Parameters:
        token - Token
        hDoc - HDoc for the document.
        widthX - Width X
        widthY - Width Y
        color - True for colored
        Returns:
        Thumbnail BMP as byte array
        Throws:
        java.rmi.RemoteException - RemoteException
      • readDocumentNext

        com.saperion.jni.SaJNIReadBuffer readDocumentNext​(int token,
                                                          com.saperion.jni.SaJNIDocHandle handle)
                                                   throws java.rmi.RemoteException
        Reads the next bytes from the open document, decribed in the handle. If this was the last block, the document is automatically closed.
        Parameters:
        token - Usertoken
        handle - Document handle for a document, opend by readDocumentFirst
        Returns:
        The document handle and the buffer with the content
        Throws:
        java.rmi.RemoteException - Error on the saperion system
      • readVersionMetadata

        SaVersionData readVersionMetadata​(int token,
                                          java.lang.String versionID)
                                   throws java.rmi.RemoteException
        Reads the version metadata of the document with the given ID.
        Parameters:
        token - User token
        versionID - Version HDOC
        Returns:
        Document revision data
        Throws:
        java.rmi.RemoteException - Remote exception
      • readVersionMetadata

        SaVersionData readVersionMetadata​(int token,
                                          java.lang.String versionID,
                                          boolean resolveLinks)
                                   throws java.rmi.RemoteException
        Reads the version metadata of the document with the given ID.
        Parameters:
        token - User token
        resolveLinks - If false will not resolve the link and show the metadata associated with the link itself.
        versionID - Version HDOC
        Returns:
        Document revision data
        Throws:
        java.rmi.RemoteException - Remote exception
      • restoreVersion

        SaSaveInfo restoreVersion​(int token,
                                  java.lang.String versionID)
                           throws java.rmi.RemoteException
        Restores the given version to the actual version.
        Parameters:
        token - User token
        versionID - Version HDOC
        Returns:
        Document save info
        Throws:
        java.rmi.RemoteException - Remote exception
      • closeDocument

        void closeDocument​(int token,
                           com.saperion.jni.SaJNIDocHandle handle)
                    throws java.rmi.RemoteException
        Manually closing of a open document.
        Parameters:
        token - Usertoken
        handle - Document handle for a document, opend by readDocumentFirst
        Throws:
        java.rmi.RemoteException - Error on the saperion system
      • deleteDocument

        SaSaveInfo deleteDocument​(int token,
                                  int mode,
                                  java.lang.String hdoc)
                           throws java.rmi.RemoteException
        Delete a document.
        Parameters:
        token - Usertoken
        mode - Delete mode may be set to the following values:
      • SaConstant.JNI_DELETECONTENT_MODE_DBSIMPLE = 0 Set status to 65002
      • SaConstant.JNI_DELETECONTENT_MODE_DBCOMPLETE = 1 - remove from DB
      • SaConstant.JNI_DELETECONTENT_MODE_PURGEDOCUMENT = 2 -Final delete
      • SaConstant.DELETEMODE = "deletemode" -Deletemode entry in archief.ini;
      • hdoc - Document HDOC
        Returns:
        SaSaveInfo or null
        Throws:
        java.rmi.RemoteException - Error on the saperion system
      • cacheDocument

        SaSaveInfo cacheDocument​(int token,
                                 boolean isNew,
                                 int commitMode,
                                 java.lang.String versionComment,
                                 java.lang.String xhDoc,
                                 java.lang.String ddcName,
                                 java.lang.String acls)
                          throws java.rmi.RemoteException
        Caches the current document to the backend.
        Parameters:
        token - Usertoken
        isNew - Is a new document
        commitMode - Commit mode
        versionComment - Version comment string
        ddcName - DDC name
        acls - ACL name string, if null it will be ignored, to delete existing ACLs set an empty string
        xhDoc - the document's hdoc
        Returns:
        Node information object
        Throws:
        java.rmi.RemoteException - RMI Exception
      • createDocument

        SaSaveInfo createDocument​(int token,
                                  java.lang.String ddcName,
                                  java.util.List<SaPropertyValue> values)
                           throws java.rmi.RemoteException
        Caches a new document with the given parameters.
        Parameters:
        token - User token (an int variable to authentificate an user)
        ddcName - Node database table name
        values - List of all values
        Returns:
        Node information object
        Throws:
        java.rmi.RemoteException - RMI Exception
      • createLink

        SaSaveInfo createLink​(int token,
                              LinkInfo link)
                       throws java.rmi.RemoteException
        Creates a SAPERION Link into one Archive for an existing Document.
        Parameters:
        token - User token (an int variable to authentificate an user)
        link - Link for the existing Document
        Returns:
        Save Info after the Link was created
        Throws:
        java.rmi.RemoteException - RMI Exception
      • saveDocument

        SaSaveInfo saveDocument​(int token,
                                java.lang.String nodeHdoc,
                                java.lang.String ddcName,
                                java.util.List<SaPropertyValue> values)
                         throws java.rmi.RemoteException
        Saves the document parameters to the document.
        Parameters:
        token - Usertoken
        nodeHdoc - Node HDOC
        ddcName - Database table name
        values - List of all values
        Returns:
        written node informations
        Throws:
        java.rmi.RemoteException - RMI Exception
      • saveDocument

        SaSaveInfo saveDocument​(int token,
                                java.lang.String nodeHdoc,
                                java.lang.String ddcName,
                                java.util.List<SaPropertyValue> values,
                                boolean resolveLinks)
                         throws java.rmi.RemoteException
        Saves the document parameters to the document.
        Parameters:
        token - Usertoken
        nodeHdoc - Node HDOC
        ddcName - Database table name
        values - List of all values
        resolveLinks - Resolve links
        Returns:
        written node informations
        Throws:
        java.rmi.RemoteException - RMI Exception
      • storeDocument

        SaSaveInfo storeDocument​(int token,
                                 boolean isNew,
                                 int commitMode,
                                 java.lang.String versionComment,
                                 java.lang.String ddcName,
                                 java.lang.String acls)
                          throws java.rmi.RemoteException
        Stores the actual document to the backend.
        Parameters:
        token - Usertoken
        isNew - Is a new document
        commitMode - Commit mode
        versionComment - Version comment string
        ddcName - DDC name
        acls - ACL name string, if null it will be ignored, to delete existing ACLs set an empty string
        Returns:
        Node information object
        Throws:
        java.rmi.RemoteException - RMI Exception
      • storeDocument

        SaSaveInfo storeDocument​(int token,
                                 boolean isNew,
                                 int commitMode,
                                 java.lang.String versionComment,
                                 java.lang.String ddcName,
                                 java.lang.String acls,
                                 boolean checkin)
                          throws java.rmi.RemoteException
        Stores the actual document to the backend.
        Parameters:
        token - Usertoken
        isNew - Is a new document
        commitMode - Commit mode
        versionComment - Version comment string
        ddcName - DDC name
        acls - ACL name string, if null it will be ignored, to delete existing ACLs set an empty string
        checkin - Checkin document (only valid for update)
        Returns:
        Node information object
        Throws:
        java.rmi.RemoteException - RMI Exception
      • discardDocument

        void discardDocument​(int token)
                      throws java.rmi.RemoteException
        Discards the document identified by the tokens handle. Cleans up temporary document resources and open handles.
        Parameters:
        token - Usertoken
        Throws:
        java.rmi.RemoteException - RMI Exception
      • checkoutDocument

        void checkoutDocument​(int token,
                              java.lang.String documentHdoc)
                       throws java.rmi.RemoteException
        Checkout the document with the given HDOC. The document must be stored.
        Parameters:
        token - User token
        documentHdoc - Document HDOC
        Throws:
        java.rmi.RemoteException - RMI exception
      • checkoutDocument

        void checkoutDocument​(int token,
                              java.lang.String documentHdoc,
                              boolean withCloudShare,
                              int[] shareBaseDocIds)
                       throws java.rmi.RemoteException
        Checkout the document with filesystem/ShareBase for the given HDOC. The document must be stored. Checkout a open document
        Parameters:
        token - User token
        documentHdoc - * Document HDOC
        withCloudShare - true if open document is checked out with ShareBase else false
        shareBaseDocIds - Array of sharebase doc ids for open checkout docs
        Throws:
        java.rmi.RemoteException - RMI exception
      • discardCheckout

        void discardCheckout​(int token,
                             java.lang.String documentHdoc)
                      throws java.rmi.RemoteException
        Discard a checked out document.
        Parameters:
        token - User token
        documentHdoc - Document HDOC
        Throws:
        java.rmi.RemoteException - RMI exception
      • releaseDocument

        void releaseDocument​(int token,
                             java.lang.String documentHdoc,
                             java.lang.String comment)
                      throws java.rmi.RemoteException
        Release the document with the given HDOC. The document must be stored. ACLs and SVRELEASE variable are set.
        Parameters:
        token - User token
        documentHdoc - Document HDOC
        comment - the revision comment
        Throws:
        java.rmi.RemoteException - RMI exception
      • writeDocument

        long writeDocument​(int token,
                           java.lang.String filename,
                           byte[] buffer,
                           boolean isLast,
                           int element)
                    throws java.rmi.RemoteException
        Writes given binary content to an existing document object.
        Parameters:
        token - User token
        filename - File name of content, set on first invocation
        buffer - Buffer containing content data
        isLast - True if this is the last block of data
        element - Element number or -1 for automatic
        Returns:
        Actual element count
        Throws:
        java.rmi.RemoteException - Wrapped SaJNIException and SaRMIException
      • writeDocument

        long writeDocument​(int token,
                           java.lang.String filename,
                           byte[] buffer,
                           boolean isLast,
                           int element,
                           boolean doStreaming)
                    throws java.rmi.RemoteException
        Writes given binary content to an existing document object.
        Parameters:
        token - User token
        filename - File name of content, set on first invocation
        buffer - Buffer containing content data
        isLast - True if this is the last block of data
        doStreaming - True if streaming option of content data is activated.
        element - Element number or -1 for automatic
        Returns:
        Actual element count
        Throws:
        java.rmi.RemoteException - Wrapped SaJNIException and SaRMIException
      • writeDocument

        long writeDocument​(int token,
                           SerializableStream stream)
                    throws java.rmi.RemoteException
        Write document.
        Parameters:
        token - the User token
        stream - the stream to write
        Returns:
        the Actual element count
        Throws:
        java.rmi.RemoteException - the remote exception
      • setElementMark

        void setElementMark​(int token,
                            int element)
                     throws java.rmi.RemoteException
        Mark the content element.
        Parameters:
        token - User token
        element - Element number to mark
        Throws:
        java.rmi.RemoteException - Wrapped SaJNIException and SaRMIException
      • removeElement

        void removeElement​(int token,
                           int element)
                    throws java.rmi.RemoteException
        Removes a existing content element.
        Parameters:
        token - User token
        element - Element number
        Throws:
        java.rmi.RemoteException - Wrapped SaJNIException and SaRMIException
      • removeElement

        void removeElement​(int token,
                           java.lang.Integer[] elements)
                    throws java.rmi.RemoteException
        Removes a series of existing content elements.
        Parameters:
        token - User token
        elements - Array of element number
        Throws:
        java.rmi.RemoteException - Wrapped SaJNIException and SaRMIException
      • clearContent

        void clearContent​(int token)
                   throws java.rmi.RemoteException
        Clears all content of the opened document.
        Parameters:
        token - Usertoken
        Throws:
        java.rmi.RemoteException - Wrapped SaJNIException and SaRMIException
      • lockNode

        boolean lockNode​(int token,
                         java.lang.String sysRowId,
                         java.lang.String ddcName,
                         int lockType,
                         boolean sessionScoped)
                  throws java.rmi.RemoteException
        Locks a node.
        Parameters:
        token - Usertoken
        sysRowId - SysRowId
        ddcName - DDC name
        lockType - locking mode can be one of the following constants:
      • SaConstant.LOCKING_LOCKTYPE_DEFAULT = 0;
      • SaConstant.LOCKING_LOCKTYPE_JSRLOCK = 1;
      • SaConstant.LOCKING_LOCKTYPE_JSRCHECKOUT = 2;
      • sessionScoped - True, if session scoped
        Returns:
        True, if ok
        Throws:
        java.rmi.RemoteException - Wrapped SaJNIException and SaRMIException
      • unlockNode

        boolean unlockNode​(int token,
                           java.lang.String sysRowId,
                           java.lang.String ddcName)
                    throws java.rmi.RemoteException
        Unlocks a node.
        Parameters:
        token - Usertoken
        sysRowId - SysRowId
        ddcName - DDC name
        Returns:
        True, if ok
        Throws:
        java.rmi.RemoteException - Wrapped SaJNIException and SaRMIException
      • getLockInfo

        SaLockInfo getLockInfo​(int token,
                               java.lang.String sysRowId)
                        throws java.rmi.RemoteException
        Gets the lock info for a given node.
        Parameters:
        token - Usertoken
        sysRowId - SysRowId
        Returns:
        Lockinfo
        Throws:
        java.rmi.RemoteException - Wrapped SaJNIException and SaRMIException
      • getNodeAccessData

        com.saperion.jni.SaJNIDocAccessData getNodeAccessData​(int token,
                                                              java.lang.String hdoc)
                                                       throws java.rmi.RemoteException
        Opens the document identified by hdoc and returns an object containing all access right data information for the session user.
        Parameters:
        token - User token
        hdoc - Document HDOC
        Returns:
        SaJNIDocAccessData Document access data for session user
        Throws:
        java.rmi.RemoteException - Wrapped SaJNIException and SaRMIException
      • startTransaction

        void startTransaction​(int token)
                       throws java.rmi.RemoteException
        Starts a transaction in the backend system.
        Parameters:
        token - Usertoken
        Throws:
        java.rmi.RemoteException - Wrapped SaJNIException and SaRMIException
      • finishTransaction

        void finishTransaction​(int token,
                               boolean commit)
                        throws java.rmi.RemoteException
        Finish the transaction in the backend system.
        Parameters:
        token - Usertoken
        commit - True, if commit this transaction, false to rollback
        Throws:
        java.rmi.RemoteException - Wrapped SaJNIException and SaRMIException
      • getIdsFromQuery

        java.util.List<java.lang.String> getIdsFromQuery​(int token,
                                                         java.lang.String query,
                                                         boolean isSQL)
                                                  throws java.rmi.RemoteException
        Executes a HQL query and returns the results as a string list.
        Parameters:
        token - User token
        query - HQL query
        isSQL - isSQL
        Returns:
        List string result list
        Throws:
        java.rmi.RemoteException - Remote exception
      • getStringQueryResult

        java.util.List<SaDocumentInfo> getStringQueryResult​(int token,
                                                            SaQueryInfo queryInfo)
                                                     throws java.rmi.RemoteException,
                                                            SaSystemException
        Executes a given HQL string and returns the results as list.
        Parameters:
        token - User token
        queryInfo - HQL query info
        Returns:
        Result list
        Throws:
        java.rmi.RemoteException - Remote exception
        SaSystemException
      • getVersionList

        java.util.List<java.lang.String> getVersionList​(int token,
                                                        java.lang.String ddcName,
                                                        java.lang.String sysrowID)
                                                 throws java.rmi.RemoteException
        Reads the versionlist for the given document.
        Parameters:
        token - User token
        ddcName - DDC name
        sysrowID - SYSROWID
        Returns:
        List of HDOC's
        Throws:
        java.rmi.RemoteException - Remote exception
      • getACLNames

        java.lang.String getACLNames​(int token,
                                     java.lang.String hDoc)
                              throws java.rmi.RemoteException
        Reads the ACL's for the given document.
        Parameters:
        token - User token
        hDoc - Document HDOC
        Returns:
        ACL name string
        Throws:
        java.rmi.RemoteException - RemoteException
      • setACLName

        SaSaveInfo setACLName​(int token,
                              java.lang.String ddcname,
                              java.lang.String hDoc,
                              java.lang.String acl,
                              int commitMode,
                              java.lang.String versionComment)
                       throws java.rmi.RemoteException
        Sets the given ACL to the node.
        Parameters:
        token - User token
        ddcname - implemented ddc in saperion
        hDoc - Document HDOC
        acl - ACL name string
        commitMode - Commit mode
        versionComment - Version comment string
        Returns:
        save info object
        Throws:
        java.rmi.RemoteException - RemoteException
      • getACLRights

        SaACLRights getACLRights​(int token,
                                 java.lang.String[] acls)
                          throws java.rmi.RemoteException
        Reads the rights for the given ACL's.
        Parameters:
        token - User token
        acls - Array of ACL's
        Returns:
        ACL rights
        Throws:
        java.rmi.RemoteException - Remote exception
      • getInvolvedUsers

        java.util.List<java.lang.String> getInvolvedUsers​(int token,
                                                          java.lang.String hDoc)
                                                   throws java.rmi.RemoteException
        Reads all users involved in the set of ACL's.
        Parameters:
        token - User token
        hDoc - Document HDOC
        Returns:
        List of user names
        Throws:
        java.rmi.RemoteException - RemoteException
      • resolveLatestHdoc

        java.lang.String resolveLatestHdoc​(int token,
                                           java.lang.String oldHdoc)
                                    throws java.rmi.RemoteException
        Resolves the hdoc of the latest version of the document identified by the given hdoc.
        Parameters:
        token - User token
        oldHdoc - old document HDOC
        Returns:
        the hdoc of the latest version of the document identified by the given hdoc.
        Throws:
        java.rmi.RemoteException - if an remote error occurs.
      • getHDocForSysRowId

        java.lang.String getHDocForSysRowId​(int token,
                                            java.lang.String sysRowId,
                                            java.lang.String ddcName)
                                     throws java.rmi.RemoteException
        Searchs the HDOC for the given SysRowId.
        Parameters:
        token - User token
        sysRowId - SysRowId
        ddcName - DDC name
        Returns:
        Resultset for HDOC's
        Throws:
        java.rmi.RemoteException - Remoteexception
      • isAlive

        boolean isAlive​(int token)
                 throws java.rmi.RemoteException
        Checks, if the token has minimum lifetime before timeout.
        Parameters:
        token - Usertoken
        Returns:
        True, if the token is alive
        Throws:
        java.rmi.RemoteException - Remote exception
      • getTaskList

        java.util.List<TaskInfo> getTaskList​(int token,
                                             int[] ids,
                                             java.lang.String filter,
                                             java.util.Map<java.lang.String,​java.lang.Object> parameter)
                                      throws java.rmi.RemoteException
        Reads the task for this user.
        Parameters:
        token - user token
        ids - Box ID's
        filter - HQL filter. Optional WHERE condition that might be added to the original query.
        In order to add the pagination functionality like setMaxResults() and/or setFirstResult(), enhance filter with the following statements:
        filter_stmt;MAXRESULTS=x ;FIRSTRESULT=y.
        ;MAXRESULTS=x - x means the limitation of the result set output.
        ;FIRSTRESULT=y - y means setting the result set cursor to the y-position.
        Adding pagination is optional feature that can be used without filter statement as well. In other words filter might constist of ;MAXRESULTS=x ;FIRSTRESULT=y string only.

        Examples:
        1. LASTUSER ='Bolt';MAXRESULTS=50 ;FIRSTRESULT=1 - hql query's where condition is enhanced with restriction LASTUSER ='Bolt' and the pagination functionality setMaxResults() and setFirstResult() is used;

        2. ;MAXRESULTS=50 - only setMaxResult() will be used.

        using ; ist important for applying pagination.
        parameter - Filter parameter
        Returns:
        List of TaskInfo objects
        Throws:
        java.rmi.RemoteException - RemoteException
      • countTasks

        long countTasks​(int token,
                        int[] ids,
                        java.lang.String filter,
                        java.util.Map<java.lang.String,​java.lang.Object> filterParams)
                 throws java.rmi.RemoteException,
                        SaSystemException,
                        SaAuthenticationException
        Counts the tasks that are contained in the specified inbox(es). Unlike getBoxCount(int, int, BoxCountType, Map), this method allows to define a custom filter. It uses the same queries than getTaskList(int, int[], String, Map).
        Parameters:
        token - user-token
        ids - IDs of the inboxes to count tasks in
        filter - optional filter-string in HQL that will be added to the WHERE clause
        filterParams -
        Returns:
        Throws:
        java.rmi.RemoteException - RMI exception when invoking this call
        SaSystemException - system error when counting workflow tasks
        SaAuthenticationException - not authorized or not logged on
      • getTaskAuditList

        java.util.List<TaskAuditInfo> getTaskAuditList​(int token,
                                                       int[] ids,
                                                       java.lang.String filter,
                                                       java.util.Map<java.lang.String,​java.lang.Object> parameter)
                                                throws java.rmi.RemoteException
        Reads the task for this user.
        Parameters:
        token - user token
        ids - Box ID's
        filter - HQL filter. Optional WHERE condition that will be added to the original query.
        In order to add the pagination functionality like setMaxResults() and/or setFirstResult(), add the following statements to the filter:
        filter_stmt;MAXRESULTS=x ;FIRSTRESULT=y.
        ;MAXRESULTS=x - x means the limitation of the result set output.
        ;FIRSTRESULT=y - y means setting the result set cursor to the y-position.
        Adding pagination is optional feature that can be used without filter statement as well. In other words filter might consist of ;MAXRESULTS=x ;FIRSTRESULT=y string only.

        Examples:
        1. LASTUSER ='Bolt';MAXRESULTS=50 ;FIRSTRESULT=1 - hql query's where condition is enhanced with restriction LASTUSER ='Bolt' and the pagination functionality setMaxResults() and setFirstResult() is used;

        2. ;MAXRESULTS=50 - only setMaxResult() will be used.

        using ; ist important for applying pagination.
        parameter - Filter parameter
        Returns:
        List of TaskAuditInfo objects
        Throws:
        java.rmi.RemoteException - RemoteException
      • getTask

        TaskInfo getTask​(int token,
                         java.lang.String taskID)
                  throws java.rmi.RemoteException
        Reads the task info for the given ID.
        Parameters:
        token - user token
        taskID - Task ID
        Returns:
        Task info
        Throws:
        java.rmi.RemoteException - RemoteException
      • getParentTask

        TaskInfo getParentTask​(int token,
                               java.lang.String taskID)
                        throws java.rmi.RemoteException
        Reads the parent task info for the given ID.
        Parameters:
        token - user token
        taskID - Task ID
        Returns:
        Task info
        Throws:
        java.rmi.RemoteException - RemoteException
      • getCommandInfos

        java.util.Collection<CommandInfo> getCommandInfos​(int token,
                                                          java.lang.String docUID)
                                                   throws java.rmi.RemoteException
        Reads all possible transitions for this task.
        Parameters:
        token - user token
        docUID - Document UID
        Returns:
        Command list
        Throws:
        java.rmi.RemoteException - RemoteException
      • getCommandInfos

        java.util.Collection<CommandInfo> getCommandInfos​(int token,
                                                          java.lang.String docUID,
                                                          boolean transitionsOnly)
                                                   throws java.rmi.RemoteException
        Reads all possible transitions for this task.
        Parameters:
        token - user token
        docUID - Document UID
        transitionsOnly - if true, only transition commands will be returned
        Returns:
        Command list
        Throws:
        java.rmi.RemoteException - RemoteException
      • getBoxDefinitions

        java.util.List<BoxDefinition> getBoxDefinitions​(int token)
                                                 throws java.rmi.RemoteException
        Reads the box definitions.
        Parameters:
        token - user token
        Returns:
        Box definitions
        Throws:
        java.rmi.RemoteException - RemoteException
      • getBoxCounts

        java.util.HashMap<java.lang.Integer,​BoxCount> getBoxCounts​(int token,
                                                                         java.util.Set<java.lang.Integer> boxId,
                                                                         BoxCountType type,
                                                                         java.util.Map<java.lang.String,​java.lang.Object> parameters)
                                                                  throws java.rmi.RemoteException
        Returns the number of all elements and of all unread elements of the inboxes identified by the given ids.
        Parameters:
        token - user token
        boxId - the workflow box id
        type - type of tasks to search for
        parameters - parameters needed for query
        Returns:
        number of all elements and of all unread elements
        Throws:
        java.rmi.RemoteException - if an error occurs.
      • getBoxCount

        BoxCount getBoxCount​(int token,
                             int boxId,
                             BoxCountType type,
                             java.util.Map<java.lang.String,​java.lang.Object> parameters)
                      throws java.rmi.RemoteException
        Returns the number of all elements and of all unread elements of the inbox identified by the given id.
        Parameters:
        token - user token
        boxId - the workflow box id
        type - type of tasks to search for
        parameters - parameters needed for query
        Returns:
        number of all elements and of all unread elements
        Throws:
        java.rmi.RemoteException - if an error occurs.
      • executeCommand

        java.lang.String executeCommand​(int token,
                                        ContextInfo contextInfo)
                                 throws java.rmi.RemoteException
        Performs the given command. The parameters must fit to the given parameter. Unneeded parameters can be set to null.
        Parameters:
        token - user token
        contextInfo - Context info
        Returns:
        New TaskID
        Throws:
        java.rmi.RemoteException - RemoteException
      • getCommentInfos

        java.util.List<CommentInfo> getCommentInfos​(int token,
                                                    java.lang.String taskUID)
                                             throws java.rmi.RemoteException
        Reads the comments for the given task.
        Parameters:
        token - user token
        taskUID - Task UID
        Returns:
        List of comments
        Throws:
        java.rmi.RemoteException - RemoteException
      • getHistoryInfos

        java.util.List<HistoryInfo> getHistoryInfos​(int token,
                                                    java.lang.String taskUID)
                                             throws java.rmi.RemoteException
        Reads the history for the given task.
        Parameters:
        token - user token
        taskUID - Task UID
        Returns:
        History list
        Throws:
        java.rmi.RemoteException - RemoteException
      • getCompleteHistoryInfos

        java.util.List<java.util.List<HistoryInfo>> getCompleteHistoryInfos​(int token,
                                                                            java.lang.String docUID)
                                                                     throws java.rmi.RemoteException
        Reads the histories and comments for the given document.
        Parameters:
        token - user token
        docUID - document UID
        Returns:
        CompleteHistoryInfo
        Throws:
        java.rmi.RemoteException - RemoteException
      • getWorkflowDefinitions

        java.util.List<java.lang.String> getWorkflowDefinitions​(int token)
                                                         throws java.rmi.RemoteException
        Reads all available workflow definitions.
        Parameters:
        token - user token
        Returns:
        Workflowdefinition list
        Throws:
        java.rmi.RemoteException - RemoteException
      • getWorkflowDefinitions

        java.util.List<ProcessDefinitionDescriptor> getWorkflowDefinitions​(java.lang.String ddcName,
                                                                           int token)
                                                                    throws java.rmi.RemoteException,
                                                                           com.lexmark.saperion.exceptions.system.BackendSystemException
        Returns the workflow definitions that are allowed to be used for documents contained in the specified DDC. If no restrictions are configured, all workflow definitions will be returned.
        Parameters:
        ddcName - name of the DDC
        token - user token
        Returns:
        Workflowdefinition list
        Throws:
        java.rmi.RemoteException - RemoteException
        com.lexmark.saperion.exceptions.system.BackendSystemException
      • addComment

        void addComment​(int token,
                        java.lang.String comment,
                        java.lang.String taskUID,
                        int level)
                 throws java.rmi.RemoteException
        Parameters:
        token - user token
        comment - Comment
        taskUID - Task UID
        level - Level
        Throws:
        java.rmi.RemoteException - RemoteException
      • addHistory

        void addHistory​(int token,
                        java.lang.String description,
                        java.lang.String taskUID)
                 throws java.rmi.RemoteException
        Parameters:
        token - user token
        description - Comment
        taskUID - Task UID
        Throws:
        java.rmi.RemoteException - RemoteException
      • getSubstitute

        java.lang.String getSubstitute​(int token)
                                throws java.rmi.RemoteException
        Get the substitute for the logged on user.
        Parameters:
        token - user token
        Returns:
        Substitute name
        Throws:
        java.rmi.RemoteException - RemoteException
      • setSubstitute

        void setSubstitute​(int token,
                           java.lang.String name)
                    throws java.rmi.RemoteException
        Set the substitute for the logged on user.
        Parameters:
        token - user token
        name - Substitute name
        Throws:
        java.rmi.RemoteException - RemoteException
      • getOutOfOffice

        boolean getOutOfOffice​(int token)
                        throws java.rmi.RemoteException
        Get the out of office status for the logged on user.
        Parameters:
        token - user token
        Returns:
        is OutOfOffice
        Throws:
        java.rmi.RemoteException - RemoteException
      • setOutOfOffice

        void setOutOfOffice​(int token,
                            boolean isOutOfOffice)
                     throws java.rmi.RemoteException
        Set the out of office status for the logged on user.
        Parameters:
        token - user token
        isOutOfOffice - True, if is OutOfOffice
        Throws:
        java.rmi.RemoteException - RemoteException
      • getUsers

        java.util.List<java.lang.String> getUsers​(int token,
                                                  java.lang.String filter)
                                           throws java.rmi.RemoteException
        Reads a list of filtered users.
        Parameters:
        token - user token
        filter - Filter
        Returns:
        List of users
        Throws:
        java.rmi.RemoteException - RemoteException
      • getAnnotations

        java.lang.String getAnnotations​(int token,
                                        int indexOfContentElement,
                                        java.lang.String hDoc,
                                        boolean currentRevision)
                                 throws java.rmi.RemoteException
        Reads the annotations from the given document.
        Parameters:
        token - user token
        indexOfContentElement - the index of the content element to access
        hDoc - document HDOC
        currentRevision - true to get current revision
        Returns:
        Annotation string
        Throws:
        java.rmi.RemoteException - RemoteException
      • setAnnotations

        void setAnnotations​(int token,
                            java.lang.String hDoc,
                            int indexOfContentElement,
                            java.lang.String annotations)
                     throws java.rmi.RemoteException
        Sets the given annotations to the document. This method creates a new revision.
        Parameters:
        token - user token
        hDoc - Document HDOC
        indexOfContentElement - the index of the content element to access
        annotations - Annotation string
        Throws:
        java.rmi.RemoteException - RemoteException
      • startSQLTransaction

        void startSQLTransaction​(int token,
                                 java.lang.String ddcName)
                          throws java.rmi.RemoteException
        Start SQL transaction.
        Parameters:
        token - User token
        ddcName - the name of the ddc
        Throws:
        java.rmi.RemoteException - RemoteException
      • finishSQLTransaction

        void finishSQLTransaction​(int token,
                                  boolean commit,
                                  java.lang.String ddcName)
                           throws java.rmi.RemoteException
        Finish SQL transaction.
        Parameters:
        token - User token
        ddcName - the ddc name
        commit - True, if commit, else rollback
        Throws:
        java.rmi.RemoteException - RemoteException
      • getFolderChildren

        java.util.List<SaDocumentInfo> getFolderChildren​(int token,
                                                         java.lang.String folderTableDDC,
                                                         java.lang.String folderId,
                                                         int depth,
                                                         SaQueryInfo filter,
                                                         int allowedMaxNrOfChildFolders)
                                                  throws java.rmi.RemoteException
        Returns a cursor with the children of the given node. The function accepts a depth parameter. In case of a depth greater than one, the returned nodes are ordered in a depth-first order, and the caller must detect parent-child relationship with the appropriate fields (SysParentID, SysRowID). Note that searching with a depth greater than one is not a fast operation. It is recommended to use depth = 1 and only load further levels on demand if required. The allowedMaxNrOfChildFolders parameter is used to restrict the absolute number of hits loaded from the database. It is intended to be used to protect the system from overload problems caused by very large query-results. The depth-filtering is done after the query has returned from the database. So keep in mind that children found on deeper levels than specified in the depth-parameter are relevant for the total number of children found.
        The default value for allowedMaxNrOfChildFolders can be configured with the setting rmi.getfolderchildren.maxresults in saperion.properties of JavaCoreServer. When this setting is set to a value > 0, it is not possible to search for an unlimited number of child nodes by passing a value of -1 for this parameter.
        Parameters:
        token - user token
        folderTableDDC - Folder table
        folderId - Folder ID
        depth - Depth (range: 1..n), if lower than 1 an exception is thrown
        filter - Additional HQL filter criteria
        allowedMaxNrOfChildFolders - allowed maximum number of results
        Returns:
        List of folder information
        Throws:
        java.rmi.RemoteException - RemoteException
      • getFolderParent

        SaDocumentInfo getFolderParent​(int token,
                                       java.lang.String folderTableDDC,
                                       java.lang.String folderId)
                                throws java.rmi.RemoteException
        Returns the parent of the given node. Please note that in case of a node to which another node links, the real parent is returned, not the parent of the link.
        Parameters:
        token - user token
        folderTableDDC - Folder table
        folderId - Folder ID
        Returns:
        Properties of the folder or null, if not found
        Throws:
        java.rmi.RemoteException - RemoteException
      • getFolderFromPath

        java.util.List<SaDocumentInfo> getFolderFromPath​(int token,
                                                         java.lang.String folderTableDDC,
                                                         java.lang.String startNodeId,
                                                         java.lang.String folderPath,
                                                         boolean exact)
                                                  throws java.rmi.RemoteException
        Returns the node(s) which match to the given path. Path names are built using the SysFolderName field of each node. As path separator, the backslash ('\') is used. The path can be searched relative to a given node, to allow for searching within Personal folders and the like. If exact is set to false, the folderPath can contain wildcards (%). Searching with wildcards can be slow depending on the number of entries in the folder-table and the database in use.
        Parameters:
        token - user token
        folderTableDDC - Folder table
        startNodeId - Startnode ID or null/empty if no relative search is required
        folderPath - Search path
        exact - if true, the path will be matched using '='. If false, LIKE will be used.
        Returns:
        Folder list
        Throws:
        java.rmi.RemoteException - RemoteException
      • createFolder

        java.lang.String createFolder​(int token,
                                      SaFolderSaveInfo info)
                               throws java.rmi.RemoteException
        Creates a new node below a given node. The parent node can be the root node (empty id).
        Parameters:
        token - user token
        info - Folder save info
        Returns:
        Save info object
        Throws:
        java.rmi.RemoteException - RemoteException
      • updateFolder

        void updateFolder​(int token,
                          java.lang.String folderTableDDC,
                          java.lang.String folderId,
                          java.util.List<SaPropertyValue> values)
                   throws java.rmi.RemoteException
        Updates a given node with the given properties.
        Parameters:
        token - user token
        folderTableDDC - Folder table
        folderId - Folder ID
        values - Values
        Throws:
        java.rmi.RemoteException - RemoteException
      • searchFolderDocuments

        java.util.List<SaDocumentInfo> searchFolderDocuments​(int token,
                                                             java.lang.String folderTableDDC,
                                                             java.lang.String folderId,
                                                             SaQueryInfo hqlFilter)
                                                      throws java.rmi.RemoteException
        HQL search extended with additional folder informations and depth.
        Parameters:
        token - user token
        folderTableDDC - Folder table
        folderId - Folder ID
        hqlFilter - HQL query for document tables. The DDC name must be defined as $DDC$.
        Returns:
        List of documents from each involved DDC's
        Throws:
        java.rmi.RemoteException - RemoteException
      • deleteFolder

        void deleteFolder​(int token,
                          java.lang.String folderTableDDC,
                          java.lang.String folderId)
                   throws java.rmi.RemoteException
        Deletes a given node. It must not have children or filed document, i.e. the user must delete/remove all these before deleting the node.
        Parameters:
        token - user token
        folderTableDDC - Folder table
        folderId - Folder ID
        Throws:
        java.rmi.RemoteException - RemoteException
      • copyFolder

        java.lang.String copyFolder​(int token,
                                    java.lang.String folderTableDDC,
                                    java.lang.String folderId,
                                    java.lang.String destinationId,
                                    java.lang.String beforeChild,
                                    boolean withDocuments)
                             throws java.rmi.RemoteException
        Copies the given node and all it’s children to the destination. Note that only real children are copied, so links are not followed. Document filings can optionally be copied too, however this is an expensive operation, as each document has to be updated.
        Parameters:
        token - user token
        folderTableDDC - Folder table
        folderId - Folder ID
        destinationId - Destination folder ID
        beforeChild - Child ID or empty for append
        withDocuments - True, if documents should be copied
        Returns:
        new folder id
        Throws:
        java.rmi.RemoteException - RemoteException
      • moveFolder

        void moveFolder​(int token,
                        java.lang.String folderTableDDC,
                        java.lang.String folderId,
                        java.lang.String destinationId,
                        java.lang.String beforeChild)
                 throws java.rmi.RemoteException
        Moves the given node to a new destination. Document filings are always moved with the node. This is not a quick operation, as path and security information must be updated.
        Parameters:
        token - user token
        folderTableDDC - Folder table
        folderId - Folder ID
        destinationId - Destination folder ID
        beforeChild - Child ID or empty for append
        Throws:
        java.rmi.RemoteException - RemoteException
      • addToFolder

        void addToFolder​(int token,
                         java.lang.String folderTableDDC,
                         java.lang.String documentId,
                         java.lang.String documentDDC,
                         java.lang.String folderId)
                  throws java.rmi.RemoteException
        Adds the document to a given folder. A document can be filed in multiple folders, but each filing operation must be called separately.
        Parameters:
        token - user token
        folderTableDDC - Folder table
        documentId - Document SysRowId
        documentDDC - Document DDC name
        folderId - Destination folder ID
        Throws:
        java.rmi.RemoteException - RemoteException
      • removeFromFolder

        void removeFromFolder​(int token,
                              java.lang.String folderTableDDC,
                              java.lang.String documentSysRowId,
                              java.lang.String documentDDC,
                              java.lang.String folderId)
                       throws java.rmi.RemoteException
        Remove the document filing from the given node.
        Parameters:
        token - user token
        folderTableDDC - Folder table
        documentSysRowId - Document SysRowId
        documentDDC - Document DDC name
        folderId - Folder ID
        Throws:
        java.rmi.RemoteException - RemoteException
      • moveToFolder

        void moveToFolder​(int token,
                          java.lang.String folderTableDDC,
                          java.lang.String documentId,
                          java.lang.String documentDDC,
                          java.lang.String folderId,
                          java.lang.String destinationId)
                   throws java.rmi.RemoteException
        Moves the document’s filing to the given node. It is removed from the original folder. Both source node and destination node must exist.
        Parameters:
        token - user token
        folderTableDDC - Folder table
        documentId - Document SysRowId
        documentDDC - Document DDC name
        folderId - Source folder ID
        destinationId - Destination folder ID
        Throws:
        java.rmi.RemoteException - RemoteException
      • getDocumentFolders

        java.util.List<SaDocumentInfo> getDocumentFolders​(int token,
                                                          java.lang.String folderTableDDC,
                                                          java.lang.String documentDDC,
                                                          java.lang.String sysRowId)
                                                   throws java.rmi.RemoteException
        Returns a list of folder properties which contains all nodes the document is contained in. The list is returned only for one node table, so if the document is filed in multiple node tables, this must be queried separately.
        Parameters:
        token - user token
        folderTableDDC - Folder table
        documentDDC - Document DDC
        sysRowId - Document sysRowId
        Returns:
        List of folder properties
        Throws:
        java.rmi.RemoteException - RemoteException
      • getDocumentFolderCount

        long getDocumentFolderCount​(int token,
                                    java.lang.String folderTableDDC,
                                    java.lang.String documentDDC,
                                    java.lang.String sysRowId)
                             throws java.rmi.RemoteException
        Returns the total count over all folders from all users in which the specified document is contained in.
        Parameters:
        token - user token
        folderTableDDC - Folder table
        documentDDC - Document DDC
        sysRowId - Document sysRowId
        Returns:
        folder count
        Throws:
        java.rmi.RemoteException - RemoteException
      • getFolderInfo

        SaDocumentInfo getFolderInfo​(int token,
                                     java.lang.String folderTableDDC,
                                     java.lang.String folderId,
                                     boolean forceLoadVariables)
                              throws java.rmi.RemoteException
        Reads the folder info object for the given folder.
        Parameters:
        token - User token
        folderTableDDC - Folder table
        folderId - Folder id
        forceLoadVariables - if true, variables will be loaded from medium if the DDC does not contain the SYSPROPERTIES field
        Returns:
        Folder info object
        Throws:
        java.rmi.RemoteException - Remote exception
      • setFolderAcl

        void setFolderAcl​(int token,
                          java.lang.String folderTableDDC,
                          java.lang.String folderId,
                          java.lang.String aclName)
                   throws java.rmi.RemoteException
        Sets an ACL for the given folder. The node’s SysACLUserList is recalculated, and if the node has children, the same is true for all the node’s children.
        Parameters:
        token - user token
        folderTableDDC - Folder table
        folderId - Folder ID
        aclName - ACL name
        Throws:
        java.rmi.RemoteException - RemoteException
      • getFolderRights

        SaDocAccessData getFolderRights​(int token,
                                        java.lang.String folderTableDDC,
                                        java.lang.String folderId)
                                 throws java.rmi.RemoteException
        Returns the rights mask for the given folder and user. The effective rights are calculated by using ACL inheritance.
        Parameters:
        token - user token
        folderTableDDC - Folder table
        folderId - Folder ID
        Returns:
        Folder access data
        Throws:
        java.rmi.RemoteException - RemoteException
      • getSystemFiles

        java.util.List<java.lang.String> getSystemFiles​(int clientToken,
                                                        SystemFileKind kind,
                                                        java.lang.String filter)
                                                 throws java.rmi.RemoteException
        Gets the system files of a specific kind.
        Parameters:
        clientToken - The current user token.
        kind - the kind of systemfiles to read.
        filter - A filter string. Only files will be returned, that match the filter. To get all systemfiles of a kind set filter to the empty string.
        Returns:
        The system files of a specific kind.
        Throws:
        java.rmi.RemoteException - RemoteException
      • logClientEvent

        void logClientEvent​(int token,
                            java.lang.String hdoc,
                            SaConstants.ProtoEvents event,
                            java.lang.String remark)
                     throws java.rmi.RemoteException
        Adds an audit log event.
        Parameters:
        token - user token
        hdoc - Document HDOC
        event - Event type
        remark - Remark
        Throws:
        java.rmi.RemoteException - Remote exception
      • changePassword

        void changePassword​(java.lang.String user,
                            java.lang.String oldPassword,
                            java.lang.String client,
                            java.lang.String newPassword)
                     throws java.rmi.RemoteException
        Changes the password of an existing user. This has to be done before a call to logon(Credentials) was successfully invoked.
        Parameters:
        user - The name of the user.
        oldPassword - The old password. This parameter is required, since the password should only be changed by the user himself
        client - The client of the actions
        newPassword - The new password
        Throws:
        java.rmi.RemoteException - exception
      • getAuthorizedUsers

        java.util.List<UsersRights> getAuthorizedUsers​(int clientToken,
                                                       java.lang.String hDoc,
                                                       java.lang.String rights,
                                                       MatchKind match)
                                                throws java.rmi.RemoteException
        Returns the users, that have specific rights on a document.
        Parameters:
        clientToken - The current user token.
        hDoc - The id of the document.
        rights - The rights the requested users should have.
        match - How the rights are matched: MKONEOF - find all users that have one of the specified rights MKEXACT - find all users that have exactly the specified rights MKATLEAST - find all users that have at least the specified rights
        Returns:
        The users, that have specific rights on the document or null if the document has no acl set. In this case everyone has every right on the document.
        Throws:
        java.rmi.RemoteException - exception
      • getArchivedSize

        int getArchivedSize​(int clientToken,
                            java.lang.String hDoc)
                     throws java.rmi.RemoteException
        Returns the total document size in archive.
        Parameters:
        clientToken - The current user token.
        hDoc - The document whose size is wanted.
        Returns:
        The total document size in archive.
        Throws:
        java.rmi.RemoteException - exception
      • getFolderClass

        SaFolderClass getFolderClass​(int clientToken,
                                     java.lang.String className)
                              throws java.rmi.RemoteException,
                                     com.lexmark.saperion.exceptions.system.BackendSystemException
        Reads the folder class with the given name.
        Parameters:
        clientToken - The current user token.
        className - Class name in dotted notation
        Returns:
        Folder classs
        Throws:
        java.rmi.RemoteException - exception on reading folder class
        com.lexmark.saperion.exceptions.system.BackendSystemException
      • searchFolderClass

        java.util.Set<SaFolderClass> searchFolderClass​(int clientToken,
                                                       SaFolderClassSearchInfo searchInfo)
                                                throws java.rmi.RemoteException,
                                                       com.lexmark.saperion.exceptions.system.BackendSystemException
        Searches for folder classes with the specified properties.
        Parameters:
        clientToken - The current user token.
        searchInfo - bean that contains properties to search for
        Returns:
        set of classes that match the specified properties
        Throws:
        java.rmi.RemoteException - exception when searching for classes
        com.lexmark.saperion.exceptions.system.BackendSystemException
      • storeSystemFile

        void storeSystemFile​(int clientToken,
                             SystemFileKind kind,
                             java.lang.String name,
                             byte[] data)
                      throws java.rmi.RemoteException
        Stores a system file of a specific kind.
        Parameters:
        clientToken - The current user token.
        kind - The kind of systemfile to store.
        name - The name of the file. This has to be a filename without path and extension.
        data - The content of the file to save.
        Throws:
        java.rmi.RemoteException - exception
      • loadSystemFile

        byte[] loadSystemFile​(int clientToken,
                              SystemFileKind kind,
                              java.lang.String name)
                       throws java.rmi.RemoteException
        Loads a system file of a specific kind.
        Parameters:
        clientToken - The current user token.
        kind - The kind of system file to load
        name - The name of the file to load.
        Returns:
        an InputStream that holds the content of the file.
        Throws:
        java.rmi.RemoteException - exception
      • getRMIVersion

        java.lang.String getRMIVersion()
                                throws java.rmi.RemoteException
        Determine the RMI interface version.
        Returns:
        RMI interface version.
        Throws:
        java.rmi.RemoteException - exception
      • getFolderUpdateInfo

        java.util.Set<FolderUpdateInfo> getFolderUpdateInfo​(int clientToken,
                                                            java.util.Map<java.lang.String,​java.lang.Long> sysrowids)
                                                     throws java.rmi.RemoteException
        Calculates a cut set of folders that shall be refreshed on client side. FolderUpdateInfo objects hold information for workflow folders and other types.
        Parameters:
        clientToken - The current user token.
        sysrowids - Map of SYSROWIDs with time stamps to check against the cache map of changed folders.
        Returns:
        Cut set of given List of Folder SYSROWIDs and the ones laying in the cache.
        Throws:
        java.rmi.RemoteException - exception
        See Also:
        FolderUpdateInfo
      • setVariables

        void setVariables​(int clientToken,
                          int element,
                          java.util.Map<java.lang.String,​java.lang.String> variables)
                   throws java.rmi.RemoteException
        Method to set the Variables for an Content-Object or the Structure itself.
        Parameters:
        clientToken - The current user token.
        element - Element Number where the Variables should be set to. (0 = Structure)
        variables - Map of Key-Value Pairs for setting Variables
        Throws:
        java.rmi.RemoteException - exception
      • checkSapUrl

        SapDocInfo checkSapUrl​(int clientToken,
                               java.lang.String url)
                        throws java.rmi.RemoteException
        Checks the given SAP URL on the R/Link server and returns, if successfull, the HDOC and the DDC. If not, null will be returned.
        Parameters:
        clientToken - The current user token.
        url - SAP URL
        Returns:
        Document Info
        Throws:
        java.rmi.RemoteException - exception
      • newInvoke

        <ResultType extends java.io.Serializable,​ExceptionType extends java.lang.Exception> ResultType newInvoke​(int clientToken,
                                                                                                                       com.lexmark.saperion.remote.common.operations.Operation<ResultType,​ExceptionType,​com.lexmark.saperion.remote.common.Connection> operation)
                                                                                                                throws java.rmi.RemoteException,
                                                                                                                       ExceptionType extends java.lang.Exception
        This method invokes an Operation that throws ecm exceptions on the server side.
        Type Parameters:
        ResultType - the type of the result of the operation
        Parameters:
        clientToken - the used user token
        operation - the operation to invoke
        Returns:
        the result of the operation
        Throws:
        java.rmi.RemoteException - on network errors
        ExceptionType - when the operation threw an exception it will be thrown
        ExceptionType extends java.lang.Exception
      • invoke

        <T extends java.io.Serializable> T invoke​(int clientToken,
                                                  com.lexmark.saperion.remote.common.operations.Operation<T,​SaBasicException,​LegacyConnection> operation)
                                           throws java.rmi.RemoteException,
                                                  SaBasicException
        This method invokes an Operation on the server side.
        Type Parameters:
        T - The return type
        Parameters:
        operation - The operation to invoke
        clientToken - The current user token.
        Returns:
        The result of the invocation of the operation
        Throws:
        java.rmi.RemoteException
        SaBasicException
      • sendBarcode

        void sendBarcode​(int clientToken,
                         java.lang.String indexMask,
                         java.lang.String docUid,
                         java.lang.String contentRep,
                         java.lang.String sid,
                         java.lang.String docType,
                         java.lang.String value,
                         int mandant)
                  throws java.rmi.RemoteException
        Send barcode to SAP.
        Parameters:
        clientToken - The current user token.
        indexMask - Index mask name
        docUid - Document UID
        contentRep - SAP Content repository
        sid - SAP ID
        docType - Document type
        value - Value
        mandant - Mandant name
        Throws:
        java.rmi.RemoteException - exception
      • setEventsEnabled

        void setEventsEnabled​(int clientToken,
                              boolean enabled)
                       throws java.rmi.RemoteException
        Sets whether events (e.g. for the IS) should be enabled for the current session.
        Parameters:
        clientToken - The current user token.
        enabled - true, if events should be enabled, otherwise false.
        Throws:
        java.rmi.RemoteException
      • getEventsEnabled

        boolean getEventsEnabled​(int clientToken)
                          throws java.rmi.RemoteException
        Returns whether events (e.g. for the IS) are enabled for the current session.
        Parameters:
        clientToken - The current user token.
        Returns:
        true, if events are enabled, otherwise false.
        Throws:
        java.rmi.RemoteException
      • getDDC

        DDC getDDC​(int clientToken,
                   java.lang.String ddcName)
            throws java.rmi.RemoteException
        Returns information about the specified DDC.
        Parameters:
        clientToken - The current user token.
        ddcName - the name of the DDC
        Returns:
        DDC information
        Throws:
        java.rmi.RemoteException - system error when retrieving information about requested DDC
      • setDocumentState

        void setDocumentState​(int clientToken,
                              java.lang.String ddcName,
                              java.lang.String hdoc,
                              java.lang.String value)
                       throws java.rmi.RemoteException
        Sets the SYSDOCUMENTSTATE value of a document to the specified value without creating a new revision.
        Parameters:
        clientToken - the current user token
        ddcName - DDC name of the document
        hdoc - HDOC of the document
        value - value to set
        Throws:
        java.rmi.RemoteException - system error when setting document state
      • getInjector

        Injector getInjector​(int clientToken)
                      throws java.rmi.RemoteException
        This method returns the injector for the given session. Internal use only.
        Parameters:
        clientToken - the token of the session
        Returns:
        the injector of the session
        Throws:
        java.rmi.RemoteException - rmi errors
      • getStreamingConfiguration

        com.lexmark.saperion.remote.common.operations.document.content.stream.StreamingConfiguration getStreamingConfiguration()
                                                                                                                        throws java.rmi.RemoteException,
                                                                                                                               com.lexmark.saperion.exceptions.EcmException
        This method returns the current streaming configuration.
        Returns:
        the current streaming configuration
        Throws:
        java.rmi.RemoteException
        com.lexmark.saperion.exceptions.EcmException
      • getFullTextFields

        java.util.Map<java.lang.String,​java.lang.String> getFullTextFields​(int token,
                                                                                 java.lang.String ddcName,
                                                                                 java.util.List<java.lang.String> fullTextFields,
                                                                                 java.lang.String hdoc)
                                                                          throws java.rmi.RemoteException,
                                                                                 com.lexmark.saperion.exceptions.EcmException
        Fetches values of Full text columns
        Parameters:
        token - Rmi Token
        ddcName - name of the DDC
        fullTextFields - List of Fields which are of Text retrieval type. Make sure to prefix SaConstants.FULL_TEXT_COLUMN_PREFIX
        hdoc - hdoc of the document
        Returns:
        Map full text coulmn and corresponding value
        Throws:
        java.rmi.RemoteException
        com.lexmark.saperion.exceptions.EcmException
      • getExternalStorageFoldersForUpload

        java.util.List<SaperionExternalStorageMappingInfo> getExternalStorageFoldersForUpload​(int token,
                                                                                              ExternalStorageType storageType)
                                                                                       throws java.rmi.RemoteException
        Fetches all folders of provided External Storage from where documents need to be uploaded
        Parameters:
        token - RMI token
        storageType - external storage type
        Returns:
        list of External Storage folder details
        Throws:
        java.rmi.RemoteException
      • getExternalStorageFoldersForUpload

        java.util.List<SaperionExternalStorageMappingInfo> getExternalStorageFoldersForUpload​(int token)
                                                                                       throws java.rmi.RemoteException
        Fetches all folders of all External Storage services from where documents need to be uploaded
        Parameters:
        token - RMI token
        Returns:
        list of External Storage folder details
        Throws:
        java.rmi.RemoteException
      • getExternalStorageMapping

        SaperionExternalStorageMappingInfo getExternalStorageMapping​(int token,
                                                                     java.lang.String sysRowId)
                                                              throws java.rmi.RemoteException
        Fetches the external storage mapping for the provided SysRowId
        Parameters:
        token -
        sysRowId -
        Returns:
        mapping object
        Throws:
        java.rmi.RemoteException
      • createExternalStorageFolderMapping

        void createExternalStorageFolderMapping​(int token,
                                                SaperionExternalStorageMappingInfo mappingInfo)
                                         throws java.rmi.RemoteException
        Stores the mapping information about Saperion document and External Storage folder
        Parameters:
        token - RMI token
        mappingInfo - mapping information about Saperion document and External Storage folder
        Throws:
        java.rmi.RemoteException
      • updateExternalStorageUploadStatus

        void updateExternalStorageUploadStatus​(int token,
                                               java.lang.String folderId,
                                               ExternalStorageDocUploadStatus status,
                                               ExternalStorageType storageType)
                                        throws java.rmi.RemoteException
        Updates the upload status of External Storage folder
        Parameters:
        token - RMI token
        folderId - folderId whose status needs to be updated
        status -
        storageType -
        Throws:
        java.rmi.RemoteException
      • deleteExternalStorageFolderMapping

        int deleteExternalStorageFolderMapping​(int token,
                                               java.util.Date expiryTime,
                                               java.util.List<ExternalStorageDocUploadStatus> statusList)
                                        throws java.rmi.RemoteException
        Deletes external storage mappings for given status and older than the given time
        Parameters:
        token - RMI token
        expiryTime - all mappings older than this time will be deleted
        Throws:
        java.rmi.RemoteException
      • getCurrentUserRole

        com.lexmark.saperion.administration.RoleType getCurrentUserRole​(int token)
                                                                 throws java.rmi.RemoteException
        Parameters:
        token - RMI token
        Returns:
        the effective role (combined rights of all roles / profiles) of the current logged-in user
        Throws:
        java.rmi.RemoteException