Class RemoteFolderItem

  • All Implemented Interfaces:
    FolderItem
    Direct Known Subclasses:
    RemoteDatabaseItem

    public abstract class RemoteFolderItem
    extends java.lang.Object
    implements FolderItem
    RemoteFolderItem provides an abstract FolderItem implementation for an item contained within a remote Repository.
    • Field Detail

      • parentPath

        protected java.lang.String parentPath
      • itemName

        protected java.lang.String itemName
      • contentType

        protected java.lang.String contentType
      • version

        protected int version
      • versionTime

        protected long versionTime
    • Method Detail

      • getName

        public java.lang.String getName()
        Description copied from interface: FolderItem
        Return The display name for this item.
        Specified by:
        getName in interface FolderItem
      • refresh

        public RemoteFolderItem refresh()
                                 throws java.io.IOException
        Description copied from interface: FolderItem
        Returns this instance after refresh or null if item no longer exists
        Specified by:
        refresh in interface FolderItem
        Throws:
        java.io.IOException
      • getFileID

        public java.lang.String getFileID()
                                   throws java.io.IOException
        Description copied from interface: FolderItem
        Return the file ID if one has been established or null
        Specified by:
        getFileID in interface FolderItem
        Throws:
        java.io.IOException
        See Also:
        FolderItem.getFileID()
      • resetFileID

        public java.lang.String resetFileID()
        Description copied from interface: FolderItem
        Assign a new file-ID to this local non-versioned file. NOTE: This method is only valid for a local non-versioned file-system.
        Specified by:
        resetFileID in interface FolderItem
        Returns:
        new file-ID
        See Also:
        FolderItem.resetFileID()
      • getContentType

        public java.lang.String getContentType()
        Description copied from interface: FolderItem
        Return The content type name for this item.
        Specified by:
        getContentType in interface FolderItem
      • getParentPath

        public java.lang.String getParentPath()
        Description copied from interface: FolderItem
        Returns the path of the parent folder.
        Specified by:
        getParentPath in interface FolderItem
      • getPathName

        public java.lang.String getPathName()
        Description copied from interface: FolderItem
        Return The concatenation of the pathname and the basename which can be used to uniquely identify a folder item.
        Specified by:
        getPathName in interface FolderItem
      • isReadOnly

        public boolean isReadOnly()
        Description copied from interface: FolderItem
        Returns true if item can be overwritten/deleted.
        Specified by:
        isReadOnly in interface FolderItem
      • setReadOnly

        public void setReadOnly​(boolean state)
        Description copied from interface: FolderItem
        Set the state of the read-only indicator for this non-shared item.
        Specified by:
        setReadOnly in interface FolderItem
        Parameters:
        state - read-only state
      • getContentTypeVersion

        public int getContentTypeVersion()
        Returns the version of content type. Note this is the version of the structure/storage for the content type, Not the users version of their data.
        Specified by:
        getContentTypeVersion in interface FolderItem
      • setContentTypeVersion

        public void setContentTypeVersion​(int version)
                                   throws java.io.IOException
        Description copied from interface: FolderItem
        Sets the version for the content type. This will change whenever the domain objects are upgraded.
        Specified by:
        setContentTypeVersion in interface FolderItem
        Parameters:
        version - the new version for the content type.
        Throws:
        java.io.IOException - if an IO error occurs or item is stored on a shared file-system
        See Also:
        FolderItem.setContentTypeVersion(int)
      • lastModified

        public long lastModified()
        Description copied from interface: FolderItem
        Return The time that this item was last modified.
        Specified by:
        lastModified in interface FolderItem
      • getCurrentVersion

        public int getCurrentVersion()
        Description copied from interface: FolderItem
        Return the latest/current version.
        Specified by:
        getCurrentVersion in interface FolderItem
      • isVersioned

        public boolean isVersioned()
        Description copied from interface: FolderItem
        Return true if this is a versioned item, else false
        Specified by:
        isVersioned in interface FolderItem
      • getVersions

        public Version[] getVersions()
                              throws java.io.IOException
        Description copied from interface: FolderItem
        Returns list of all available versions or null if item is not versioned.
        Specified by:
        getVersions in interface FolderItem
        Throws:
        java.io.IOException - thrown if an IO error occurs.
      • delete

        public void delete​(int ver,
                           java.lang.String user)
                    throws java.io.IOException
        Description copied from interface: FolderItem
        Deletes the item or a specific version. If a specific version is specified, it must either be the oldest or latest (i.e., current).
        Specified by:
        delete in interface FolderItem
        Parameters:
        ver - specific version to be deleted, or -1 to remove all versions.
        user - user name
        Throws:
        java.io.IOException - if an IO error occurs, including the inability to delete a version because this item is checked-out, the user does not have permission, or the specified version is not the oldest or latest.
      • isCheckedOut

        public boolean isCheckedOut()
        Description copied from interface: FolderItem
        Returns true if this item is a checked-out copy from a versioned file system.
        Specified by:
        isCheckedOut in interface FolderItem
      • isCheckedOutExclusive

        public boolean isCheckedOutExclusive()
        Description copied from interface: FolderItem
        Returns true if this item is a checked-out copy with exclusive access from a versioned file system.
        Specified by:
        isCheckedOutExclusive in interface FolderItem
      • checkout

        public ItemCheckoutStatus checkout​(CheckoutType checkoutType,
                                           java.lang.String user,
                                           java.lang.String projectPath)
                                    throws java.io.IOException
        Description copied from interface: FolderItem
        Checkout this folder item.
        Specified by:
        checkout in interface FolderItem
        Parameters:
        checkoutType - type of checkout
        user - user requesting checkout
        projectPath - path of project where checkout was made
        Returns:
        checkout status or null if exclusive checkout request failed
        Throws:
        java.io.IOException - if an IO error occurs or this item is not versioned
      • terminateCheckout

        public void terminateCheckout​(long checkoutId,
                                      boolean notify)
                               throws java.io.IOException
        Description copied from interface: FolderItem
        Terminates a checkout. The checkout ID becomes invalid, therefore the associated checkout copy should either be removed or converted to a private file.
        Specified by:
        terminateCheckout in interface FolderItem
        Parameters:
        checkoutId - checkout ID
        notify - if true item change notification will be sent
        Throws:
        java.io.IOException - if an IO error occurs or this item is not versioned
      • getCheckout

        public ItemCheckoutStatus getCheckout​(long checkoutId)
                                       throws java.io.IOException
        Description copied from interface: FolderItem
        Get the checkout status which corresponds to the specified checkout ID.
        Specified by:
        getCheckout in interface FolderItem
        Parameters:
        checkoutId - checkout ID
        Returns:
        checkout status or null if checkout ID not found.
        Throws:
        java.io.IOException - if an IO error occurs or this item is not versioned
      • getCheckouts

        public ItemCheckoutStatus[] getCheckouts()
                                          throws java.io.IOException
        Description copied from interface: FolderItem
        Get all current checkouts for this item.
        Specified by:
        getCheckouts in interface FolderItem
        Returns:
        list of checkouts
        Throws:
        java.io.IOException - if an IO error occurs or this item is not versioned
      • clearCheckout

        public void clearCheckout()
                           throws java.io.IOException
        Description copied from interface: FolderItem
        Clears the checkout data associated with this non-shared file. NOTE: This method is only valid for a local non-versioned file-system.
        Specified by:
        clearCheckout in interface FolderItem
        Throws:
        java.io.IOException
      • getCheckoutId

        public long getCheckoutId()
                           throws java.io.IOException
        Description copied from interface: FolderItem
        Returns the checkoutId for this file. A value of -1 indicates a private item. NOTE: This method is only valid for a local non-versioned file-system.
        Specified by:
        getCheckoutId in interface FolderItem
        Throws:
        java.io.IOException - if an IO error occurs
      • getCheckoutVersion

        public int getCheckoutVersion()
                               throws java.io.IOException
        Description copied from interface: FolderItem
        Returns the item version which was checked-out. A value of -1 indicates a private item. NOTE: This method is only valid for a local non-versioned file-system.
        Specified by:
        getCheckoutVersion in interface FolderItem
        Throws:
        java.io.IOException
      • getLocalCheckoutVersion

        public int getLocalCheckoutVersion()
        Description copied from interface: FolderItem
        Returns the local item version at the time the checkout was completed. A value of -1 indicates a private item. NOTE: This method is only valid for a local non-versioned file-system.
        Specified by:
        getLocalCheckoutVersion in interface FolderItem
      • setCheckout

        public void setCheckout​(long checkoutId,
                                boolean exclusive,
                                int checkoutVersion,
                                int localVersion)
                         throws java.io.IOException
        Description copied from interface: FolderItem
        Set the checkout data associated with this non-shared file. NOTE: This method is only valid for a local non-versioned file-system.
        Specified by:
        setCheckout in interface FolderItem
        Parameters:
        checkoutId - checkout ID (provided by ItemCheckoutStatus).
        exclusive - true if checkout is exclusive
        checkoutVersion - the item version which was checked-out (provided by ItemCheckoutStatus).
        localVersion - the local item version at the time the checkout was completed.
        Throws:
        java.io.IOException - if an IO error occurs or item is stored on a shared file-system