Interface RemoteRepositoryHandle

  • All Superinterfaces:
    java.rmi.Remote, RepositoryHandle

    public interface RemoteRepositoryHandle
    extends RepositoryHandle, java.rmi.Remote
    RepositoryHandle provides access to a remote repository via RMI.

    Methods from RepositoryHandle must be re-declared here so they may be properly marshalled for remote invocation via RMI. This became neccessary with an OpenJDK 11.0.6 change made to RemoteObjectInvocationHandler.

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      ChangeModifier and Type Method Description
      NEWboolean anonymousAccessAllowed()  
      NEWItemCheckoutStatus checkout​(java.lang.String parentPath, java.lang.String itemName, CheckoutType checkoutType, java.lang.String projectPath)
      Perform a checkout on the specified item.
      NEWvoid close()
      Notification to server that client is dropping handle.
      NEWManagedBufferFileHandle createDatabase​(java.lang.String parentPath, java.lang.String itemName, java.lang.String fileID, int bufferSize, java.lang.String contentType, java.lang.String projectPath)
      Create a new empty database item within the repository.
      NEWvoid deleteItem​(java.lang.String parentPath, java.lang.String itemName, int version)
      Delete the specified version of an item.
      NEWboolean fileExists​(java.lang.String parentPath, java.lang.String itemName)
      Returns true if the specified item exists.
      NEWboolean folderExists​(java.lang.String folderPath)
      Returns true if the specified folder path exists.
      NEWItemCheckoutStatus getCheckout​(java.lang.String parentPath, java.lang.String itemName, long checkoutId)
      Returns specific checkout data for an item.
      NEWItemCheckoutStatus[] getCheckouts​(java.lang.String parentPath, java.lang.String itemName)
      Get a list of all checkouts for an item.
      NEWRepositoryChangeEvent[] getEvents()
      Get pending change events.
      NEWRepositoryItem getItem​(java.lang.String fileID)
      Returns the RepositoryItem with the given unique file ID
      NEWRepositoryItem getItem​(java.lang.String parentPath, java.lang.String name)
      Returns the RepositoryItem in the given folder with the given name
      NEWint getItemCount()
      Returns the number of folder items contained within this file-system.
      NEWRepositoryItem[] getItemList​(java.lang.String folderPath)
      Get of all items found within the specified parent folder path.
      NEWlong getLength​(java.lang.String parentPath, java.lang.String itemName)
      Returns the length of this domain file.
      NEWjava.lang.String getName()
      Returns the name of this repository.
      NEWjava.lang.String[] getServerUserList()
      Convenience method for obtaining a list of all users known to the server.
      NEWjava.lang.String[] getSubfolderList​(java.lang.String folderPath)
      Get list of subfolders contained within the specified parent folder.
      NEWUser getUser()
      Returns user object associated with this handle.
      NEWUser[] getUserList()
      Returns a list of users authorized for this repository.
      NEWVersion[] getVersions​(java.lang.String parentPath, java.lang.String itemName)
      Returns a list of all versions for the specified item.
      NEWboolean hasCheckouts​(java.lang.String parentPath, java.lang.String itemName)
      Returns true if the specified item has one or more checkouts.
      NEWboolean isCheckinActive​(java.lang.String parentPath, java.lang.String itemName)
      Returns true if the specified item has an active checkin.
      NEWvoid moveFolder​(java.lang.String oldParentPath, java.lang.String newParentPath, java.lang.String oldFolderName, java.lang.String newFolderName)
      Move an entire folder
      NEWvoid moveItem​(java.lang.String oldParentPath, java.lang.String newParentPath, java.lang.String oldItemName, java.lang.String newItemName)
      Move an item to another folder
      NEWManagedBufferFileHandle openDatabase​(java.lang.String parentPath, java.lang.String itemName, int version, int minChangeDataVer)
      Open an existing version of a database buffer file for non-update read-only use.
      NEWManagedBufferFileHandle openDatabase​(java.lang.String parentPath, java.lang.String itemName, long checkoutId)
      Open the current version for checkin of new version.
      void setUserList​(User[] users, boolean anonymousAccessAllowed)
      Set the list of authorized users for this repository.
      NEWvoid terminateCheckout​(java.lang.String parentPath, java.lang.String itemName, long checkoutId, boolean notify)
      Terminate an existing item checkout.
      NEWvoid updateCheckoutVersion​(java.lang.String parentPath, java.lang.String itemName, long checkoutId, int checkoutVersion)
      Update checkout data for an item following an update of a local checkout file.
    • Method Detail

      • getName NEW

        java.lang.String getName()
                          throws java.io.IOException
        Description copied from interface: RepositoryHandle
        Returns the name of this repository.
        Specified by:
        getName in interface RepositoryHandle
        Throws:
        java.io.IOException - if an IO error occurs
      • getUser NEW

        User getUser()
              throws java.io.IOException
        Description copied from interface: RepositoryHandle
        Returns user object associated with this handle.
        Specified by:
        getUser in interface RepositoryHandle
        Throws:
        java.io.IOException - if an IO error occurs
      • anonymousAccessAllowed NEW

        boolean anonymousAccessAllowed()
                                throws java.io.IOException
        Specified by:
        anonymousAccessAllowed in interface RepositoryHandle
        Returns:
        true if anonymous access allowed by this repository
        Throws:
        java.io.IOException - if an IO error occurs
      • setUserList NEW

        void setUserList​(User[] users,
                         boolean anonymousAccessAllowed)
                  throws java.io.IOException
        Description copied from interface: RepositoryHandle
        Set the list of authorized users for this repository.
        Specified by:
        setUserList in interface RepositoryHandle
        Parameters:
        users - list of user and access permissions.
        anonymousAccessAllowed - true if anonymous access should be permitted to this repository
        Throws:
        UserAccessException
        java.io.IOException - if an IO error occurs
      • getSubfolderList NEW

        java.lang.String[] getSubfolderList​(java.lang.String folderPath)
                                     throws java.io.IOException
        Description copied from interface: RepositoryHandle
        Get list of subfolders contained within the specified parent folder.
        Specified by:
        getSubfolderList in interface RepositoryHandle
        Parameters:
        folderPath - parent folder path
        Returns:
        list of subfolder names
        Throws:
        UserAccessException - if user does not have adequate permission within the repository.
        java.io.FileNotFoundException - if specified parent folder path not found
        java.io.IOException - if an IO error occurs
      • getItemCount NEW

        int getItemCount()
                  throws java.io.IOException
        Description copied from interface: RepositoryHandle
        Returns the number of folder items contained within this file-system.
        Specified by:
        getItemCount in interface RepositoryHandle
        Throws:
        java.io.IOException - if an IO error occurs
      • getItemList NEW

        RepositoryItem[] getItemList​(java.lang.String folderPath)
                              throws java.io.IOException
        Description copied from interface: RepositoryHandle
        Get of all items found within the specified parent folder path.
        Specified by:
        getItemList in interface RepositoryHandle
        Parameters:
        folderPath - parent folder path
        Returns:
        list of items contained within specified parent folder
        Throws:
        UserAccessException
        java.io.FileNotFoundException - if parent folder not found
        java.io.IOException - if an IO error occurs
      • getItem NEW

        RepositoryItem getItem​(java.lang.String parentPath,
                               java.lang.String name)
                        throws java.io.IOException
        Description copied from interface: RepositoryHandle
        Returns the RepositoryItem in the given folder with the given name
        Specified by:
        getItem in interface RepositoryHandle
        Parameters:
        parentPath - folder path
        name - item name
        Returns:
        item or null if not found
        Throws:
        java.io.IOException - if an IO error occurs
      • getItem NEW

        RepositoryItem getItem​(java.lang.String fileID)
                        throws java.io.IOException
        Description copied from interface: RepositoryHandle
        Returns the RepositoryItem with the given unique file ID
        Specified by:
        getItem in interface RepositoryHandle
        Parameters:
        fileID - unique file ID
        Returns:
        item or null if not found
        Throws:
        java.io.IOException - if an IO error occurs
      • createDatabase NEW

        ManagedBufferFileHandle createDatabase​(java.lang.String parentPath,
                                               java.lang.String itemName,
                                               java.lang.String fileID,
                                               int bufferSize,
                                               java.lang.String contentType,
                                               java.lang.String projectPath)
                                        throws java.io.IOException,
                                               InvalidNameException
        Description copied from interface: RepositoryHandle
        Create a new empty database item within the repository.
        Specified by:
        createDatabase in interface RepositoryHandle
        Parameters:
        parentPath - parent folder path
        itemName - new item name
        fileID - unique file ID
        bufferSize - buffer file buffer size
        contentType - application content type
        projectPath - path of user's project
        Returns:
        initial buffer file open for writing
        Throws:
        UserAccessException - if user does not have adequate permission within the repository.
        DuplicateFileException - item path already exists within repository
        java.io.IOException - if an IO error occurs
        InvalidNameException - if itemName or parentPath contains invalid characters
      • openDatabase NEW

        ManagedBufferFileHandle openDatabase​(java.lang.String parentPath,
                                             java.lang.String itemName,
                                             int version,
                                             int minChangeDataVer)
                                      throws java.io.IOException
        Description copied from interface: RepositoryHandle
        Open an existing version of a database buffer file for non-update read-only use.
        Specified by:
        openDatabase in interface RepositoryHandle
        Parameters:
        parentPath - parent folder path
        itemName - name of existing data file
        version - existing version of data file (-1 = latest version)
        minChangeDataVer - indicates the oldest change data buffer file to be included. A -1 indicates only the last change data buffer file is applicable.
        Returns:
        remote buffer file for non-update read-only use
        Throws:
        UserAccessException - if user does not have adequate permission within the repository.
        java.io.FileNotFoundException - if database version not found
        java.io.IOException - if an IO error occurs
      • openDatabase NEW

        ManagedBufferFileHandle openDatabase​(java.lang.String parentPath,
                                             java.lang.String itemName,
                                             long checkoutId)
                                      throws java.io.IOException
        Description copied from interface: RepositoryHandle
        Open the current version for checkin of new version.
        Specified by:
        openDatabase in interface RepositoryHandle
        Parameters:
        parentPath - parent folder path
        itemName - name of existing data file
        checkoutId - checkout ID
        Returns:
        remote buffer file for updateable read-only use
        Throws:
        UserAccessException - if user does not have adequate permission within the repository.
        java.io.FileNotFoundException - if database version not found
        java.io.IOException - if an IO error occurs
      • getVersions NEW

        Version[] getVersions​(java.lang.String parentPath,
                              java.lang.String itemName)
                       throws java.io.IOException
        Description copied from interface: RepositoryHandle
        Returns a list of all versions for the specified item.
        Specified by:
        getVersions in interface RepositoryHandle
        Parameters:
        parentPath - parent folder path
        itemName - name of item
        Returns:
        version list
        Throws:
        java.io.IOException - if an IO error occurs
      • deleteItem NEW

        void deleteItem​(java.lang.String parentPath,
                        java.lang.String itemName,
                        int version)
                 throws java.io.IOException
        Description copied from interface: RepositoryHandle
        Delete the specified version of an item.
        Specified by:
        deleteItem in interface RepositoryHandle
        Parameters:
        parentPath - parent folder path
        itemName - name of item
        version - oldest or latest version of item to be deleted, or -1 to delete the entire item. User must be Admin or owner of version to be deleted.
        Throws:
        java.io.IOException - if an IO error occurs
      • moveFolder NEW

        void moveFolder​(java.lang.String oldParentPath,
                        java.lang.String newParentPath,
                        java.lang.String oldFolderName,
                        java.lang.String newFolderName)
                 throws InvalidNameException,
                        java.io.IOException
        Description copied from interface: RepositoryHandle
        Move an entire folder
        Specified by:
        moveFolder in interface RepositoryHandle
        Parameters:
        oldParentPath - current parent folder path
        newParentPath - new parent folder path
        oldFolderName - current folder name
        newFolderName - new folder name
        Throws:
        InvalidNameException - if newFolderName is invalid
        DuplicateFileException - if target folder already exists
        java.io.IOException - if an IO error occurs
      • moveItem NEW

        void moveItem​(java.lang.String oldParentPath,
                      java.lang.String newParentPath,
                      java.lang.String oldItemName,
                      java.lang.String newItemName)
               throws InvalidNameException,
                      java.io.IOException
        Description copied from interface: RepositoryHandle
        Move an item to another folder
        Specified by:
        moveItem in interface RepositoryHandle
        Parameters:
        oldParentPath - current parent folder path
        newParentPath - new parent folder path
        oldItemName - current item name
        newItemName - new item name
        Throws:
        InvalidNameException - if newItemName is invalid
        DuplicateFileException - if target item already exists
        java.io.IOException - if an IO error occurs
      • checkout NEW

        ItemCheckoutStatus checkout​(java.lang.String parentPath,
                                    java.lang.String itemName,
                                    CheckoutType checkoutType,
                                    java.lang.String projectPath)
                             throws java.io.IOException
        Description copied from interface: RepositoryHandle
        Perform a checkout on the specified item.
        Specified by:
        checkout in interface RepositoryHandle
        Parameters:
        parentPath - parent folder path
        itemName - name of item
        projectPath - path of user's project
        Returns:
        checkout data
        Throws:
        java.io.IOException - if an IO error occurs
      • terminateCheckout NEW

        void terminateCheckout​(java.lang.String parentPath,
                               java.lang.String itemName,
                               long checkoutId,
                               boolean notify)
                        throws java.io.IOException
        Description copied from interface: RepositoryHandle
        Terminate an existing item checkout.
        Specified by:
        terminateCheckout in interface RepositoryHandle
        Parameters:
        parentPath - parent folder path
        itemName - name of item
        checkoutId - checkout ID
        notify - notify listeners of item status change
        Throws:
        java.io.IOException - if an IO error occurs
      • getCheckout NEW

        ItemCheckoutStatus getCheckout​(java.lang.String parentPath,
                                       java.lang.String itemName,
                                       long checkoutId)
                                throws java.io.IOException
        Description copied from interface: RepositoryHandle
        Returns specific checkout data for an item.
        Specified by:
        getCheckout in interface RepositoryHandle
        Parameters:
        parentPath - parent folder path
        itemName - name of item
        checkoutId - checkout ID
        Returns:
        checkout data
        Throws:
        java.io.IOException - if an IO error occurs
      • getCheckouts NEW

        ItemCheckoutStatus[] getCheckouts​(java.lang.String parentPath,
                                          java.lang.String itemName)
                                   throws java.io.IOException
        Description copied from interface: RepositoryHandle
        Get a list of all checkouts for an item.
        Specified by:
        getCheckouts in interface RepositoryHandle
        Parameters:
        parentPath - parent folder path
        itemName - name of item
        Returns:
        checkout data list
        Throws:
        java.io.IOException - if an IO error occurs
      • folderExists NEW

        boolean folderExists​(java.lang.String folderPath)
                      throws java.io.IOException
        Description copied from interface: RepositoryHandle
        Returns true if the specified folder path exists.
        Specified by:
        folderExists in interface RepositoryHandle
        Parameters:
        folderPath - folder path
        Throws:
        java.io.IOException - if an IO error occurs
      • fileExists NEW

        boolean fileExists​(java.lang.String parentPath,
                           java.lang.String itemName)
                    throws java.io.IOException
        Description copied from interface: RepositoryHandle
        Returns true if the specified item exists.
        Specified by:
        fileExists in interface RepositoryHandle
        Parameters:
        parentPath - parent folder path
        itemName - name of item
        Throws:
        java.io.IOException - if an IO error occurs
      • getLength NEW

        long getLength​(java.lang.String parentPath,
                       java.lang.String itemName)
                throws java.io.IOException
        Description copied from interface: RepositoryHandle
        Returns the length of this domain file. This size is the minimum disk space used for storing this file, but does not account for additional storage space used to tracks changes, etc.
        Specified by:
        getLength in interface RepositoryHandle
        Parameters:
        parentPath - parent folder path
        itemName - name of item
        Returns:
        file length
        Throws:
        java.io.IOException - if an IO error occurs
      • hasCheckouts NEW

        boolean hasCheckouts​(java.lang.String parentPath,
                             java.lang.String itemName)
                      throws java.io.IOException
        Description copied from interface: RepositoryHandle
        Returns true if the specified item has one or more checkouts.
        Specified by:
        hasCheckouts in interface RepositoryHandle
        Parameters:
        parentPath - parent folder path
        itemName - name of item
        Throws:
        java.io.IOException
      • isCheckinActive NEW

        boolean isCheckinActive​(java.lang.String parentPath,
                                java.lang.String itemName)
                         throws java.io.IOException
        Description copied from interface: RepositoryHandle
        Returns true if the specified item has an active checkin.
        Specified by:
        isCheckinActive in interface RepositoryHandle
        Parameters:
        parentPath - parent folder path
        itemName - name of item
        Throws:
        java.io.IOException
      • updateCheckoutVersion NEW

        void updateCheckoutVersion​(java.lang.String parentPath,
                                   java.lang.String itemName,
                                   long checkoutId,
                                   int checkoutVersion)
                            throws java.io.IOException
        Description copied from interface: RepositoryHandle
        Update checkout data for an item following an update of a local checkout file.
        Specified by:
        updateCheckoutVersion in interface RepositoryHandle
        Parameters:
        parentPath - parent folder path
        itemName - name of item
        checkoutId - checkout ID
        checkoutVersion - item version used for update
        Throws:
        java.io.IOException - if error occurs
      • getEvents NEW

        RepositoryChangeEvent[] getEvents()
                                   throws java.io.IOException
        Description copied from interface: RepositoryHandle
        Get pending change events. Call will block until an event is available.
        Specified by:
        getEvents in interface RepositoryHandle
        Returns:
        array of events
        Throws:
        java.io.IOException - if error occurs.
      • close NEW

        void close()
            throws java.io.IOException
        Description copied from interface: RepositoryHandle
        Notification to server that client is dropping handle.
        Specified by:
        close in interface RepositoryHandle
        Throws:
        java.io.IOException - if error occurs