Class ChangeMetaData

  • All Implemented Interfaces:
    PrioritizedService

    public class ChangeMetaData
    extends Object
    implements PrioritizedService
    Static metadata about a link Change. This data is kept in a separate class to better separate the information about the change and the fields of the change. It also ensures there will be no conflict between Change fields and metadata, such as "name". ChangeMetaData instances are immutable.
    See Also:
    ChangeParameterMetaData
    • Method Detail

      • getName

        public String getName()
        Return the name of the change used to identify it. The name must not contain spaces since it will be used as tag names in XML etc.
      • getDescription

        public String getDescription()
        A description of the Change for documentation purposes.
      • getPriority

        public int getPriority()
        The priority of a Change implementation controls which implementation is used if several exist for the same "name".
        Specified by:
        getPriority in interface PrioritizedService
      • getParameters

        public Map<String,​ChangeParameterMetaData> getParameters()
        Return the parameters of this Change. Will never return a null map, only an empty or populated map.
      • getSetParameters

        public Map<String,​ChangeParameterMetaData> getSetParameters​(Change change)
        Return the parameters of the given change that are set to a non-null value. Will never return a null map, only an empty or populated map.
      • getRequiredParameters

        public Map<String,​ChangeParameterMetaData> getRequiredParameters​(Database database)
        Returns the required parameters for this change for the given database. Will never return a null map, only an empty or populated map.
      • getOptionalParameters

        public Map<String,​ChangeParameterMetaData> getOptionalParameters​(Database database)
        Returns the optional parameters for this change for the given database. Will never return a null map, only an empty or populated map.
      • getAppliesTo

        public Set<String> getAppliesTo()
        Returns the types of DatabaseObjects this change would apply to. Useful for documentation or integrations that present a user with what change commands are available for a given database type. If no information is known, returns null. Will never return an empty set, only null or a populated set. The string value will correspond to the values returned by DatabaseObject.getObjectTypeName()
      • appliesTo

        public boolean appliesTo​(DatabaseObject databaseObject)