liquibase.change
Class ChangeMetaData

java.lang.Object
  extended by liquibase.change.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

Field Summary
static int PRIORITY_DEFAULT
           
 
Fields inherited from interface liquibase.servicelocator.PrioritizedService
COMPARATOR, PRIORITY_DATABASE
 
Constructor Summary
ChangeMetaData(String name, String description, int priority, String[] appliesTo, Map<String,String> databaseNotes, Set<ChangeParameterMetaData> parameters)
           
 
Method Summary
 boolean appliesTo(DatabaseObject databaseObject)
           
 Set<String> getAppliesTo()
          Returns the types of DatabaseObjects this change would apply to.
 String getDescription()
          A description of the Change for documentation purposes.
 String getName()
          Return the name of the change used to identify it.
 String getNotes(String database)
           
 Map<String,ChangeParameterMetaData> getOptionalParameters(Database database)
          Returns the optional parameters for this change for the given database.
 Map<String,ChangeParameterMetaData> getParameters()
          Return the parameters of this Change.
 int getPriority()
          The priority of a Change implementation controls which implementation is used if several exist for the same "name".
 Map<String,ChangeParameterMetaData> getRequiredParameters(Database database)
          Returns the required parameters for this change for the given database.
 Map<String,ChangeParameterMetaData> getSetParameters(Change change)
          Return the parameters of the given change that are set to a non-null value.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PRIORITY_DEFAULT

public static final int PRIORITY_DEFAULT
See Also:
Constant Field Values
Constructor Detail

ChangeMetaData

public ChangeMetaData(String name,
                      String description,
                      int priority,
                      String[] appliesTo,
                      Map<String,String> databaseNotes,
                      Set<ChangeParameterMetaData> parameters)
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

getNotes

public String getNotes(String database)

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)


Copyright © 2016 Liquibase.org. All rights reserved.