Class AbstractRepository<T>

    • Constructor Detail

      • AbstractRepository

        protected AbstractRepository​(IProvisioningAgent agent,
                                     String name,
                                     String type,
                                     String version,
                                     URI location,
                                     String description,
                                     String provider,
                                     Map<String,​String> properties)
        Creates a new repository with the given attributes.
        Parameters:
        agent - the provisioning agent to be used by this repository
        name - the repository name
        type - the repository type
        version - the repository version
        location - the repository location
        description - the repository description
        provider - the repository provider
        properties - the repository properties
    • Method Detail

      • assertModifiable

        protected void assertModifiable()
        Asserts that this repository is modifiable, throwing a runtime exception if it is not. This is suitable for use by subclasses when an attempt is made to write to a repository.
      • getDescription

        public String getDescription()
        Returns a brief description of the repository.
        Specified by:
        getDescription in interface IRepository<T>
        Returns:
        the description of the repository.
      • getLocation

        public URI getLocation()
        Returns the location of this repository.
        Specified by:
        getLocation in interface IRepository<T>
        Returns:
        the URI of the repository.
      • getName

        public String getName()
        Returns the name of the repository.
        Specified by:
        getName in interface IRepository<T>
        Returns:
        the name of the repository.
      • getProperties

        public Map<String,​String> getProperties()
        Returns a read-only collection of the properties of the repository.
        Specified by:
        getProperties in interface IRepository<T>
        Returns:
        the properties of this repository.
      • getProperty

        public String getProperty​(String key)
        Returns the repository property with the given key, or null if no such property is defined
        Specified by:
        getProperty in interface IRepository<T>
        Parameters:
        key - the property key
        Returns:
        the property value, or null
      • getProvider

        public String getProvider()
        Returns the name of the provider of the repository.
        Specified by:
        getProvider in interface IRepository<T>
        Returns:
        the provider of this repository.
      • getType

        public String getType()
        Returns a string representing the type of the repository.
        Specified by:
        getType in interface IRepository<T>
        Returns:
        the type of the repository.
      • getVersion

        public String getVersion()
        Returns a string representing the version for the repository type.
        Specified by:
        getVersion in interface IRepository<T>
        Returns:
        the version of the type of the repository.
      • isModifiable

        public boolean isModifiable()
        Returns true if this repository can be modified, and false otherwise. Attempts to change the contents of an unmodifiable repository will fail.
        Specified by:
        isModifiable in interface IRepository<T>
        Returns:
        whether or not this repository can be modified
      • setDescription

        public void setDescription​(String description)
        Sets the description of this repository
        Parameters:
        description - the repository description
      • setName

        public void setName​(String value)
        Sets the name of this repository
        Parameters:
        value - the repository name
      • setProperty

        public String setProperty​(String key,
                                  String value,
                                  IProgressMonitor monitor)
        Sets the value of the property with the given key. Returns the old property associated with that key, if any. Setting a value of null will remove the corresponding key from the properties of this repository.
        Specified by:
        setProperty in interface IRepository<T>
        Parameters:
        key - The property key
        value - The new property value, or null to remove the key
        monitor - A progress monitor use to track progress and cancel the operation. This may be a long running operation if another process holds the lock on this location
        Returns:
        The old property value, or null if there was no old value
        Since:
        2.1
      • setProperty

        public String setProperty​(String key,
                                  String value)
        Sets the value of the property with the given key. Returns the old property associated with that key, if any. Setting a value of null will remove the corresponding key from the properties of this repository.
        Specified by:
        setProperty in interface IRepository<T>
        Parameters:
        key - The property key
        value - The new property value, or null to remove the key
        Returns:
        The old property value, or null if there was no old value
      • setProvider

        public void setProvider​(String provider)
        Sets the provider of this repository
        Parameters:
        provider - the repository provider
      • setType

        protected void setType​(String type)
        Sets the type of this repository
        Parameters:
        type - the repository type
      • setLocation

        protected void setLocation​(URI location)
        Sets the location of this repository
        Parameters:
        location - the repository location
      • setVersion

        protected void setVersion​(String version)
        Sets the version of this repository
        Parameters:
        version - the repository version
      • setProperties

        protected void setProperties​(Map<String,​String> properties)
        Sets the properties of this repository
        Parameters:
        properties - the repository provider