public class ChangeParameterMetaData extends Object
Change
parameter.
Instances of this class are tracked within ChangeMetaData
and are immutable.Modifier and Type | Field and Description |
---|---|
static String |
ALL |
static String |
COMPUTE |
static String |
NONE |
Constructor and Description |
---|
ChangeParameterMetaData(Change change,
String parameterName,
String displayName,
String description,
Map<String,Object> exampleValues,
String since,
Type dataType,
String[] requiredForDatabase,
String[] supportedDatabases,
String mustEqualExisting,
LiquibaseSerializable.SerializationType serializationType) |
Modifier and Type | Method and Description |
---|---|
protected Set<String> |
analyzeRequiredDatabases(String[] requiredDatabases) |
protected Set<String> |
analyzeSupportedDatabases(String[] supportedDatabases) |
Object |
getCurrentValue(Change change)
Returns the current value of this parameter for the given Change.
|
String |
getDataType()
Return the data type of value stored in this parameter.
|
Class |
getDataTypeClass() |
Type[] |
getDataTypeClassParameters() |
String |
getDescription() |
String |
getDisplayName()
A more friendly name of the parameter.
|
Object |
getExampleValue(Database database) |
String |
getMustEqualExisting()
Returns a dot-delimited chain of
DatabaseObject fields describing what existing
value this parameter would need to be set if applying the Change to a particular DatabaseObject. |
String |
getParameterName()
Programmatic Name of the parameter.
|
Set<String> |
getRequiredForDatabase()
Return the database types for which this parameter is required.
|
LiquibaseSerializable.SerializationType |
getSerializationType()
Return the
LiquibaseSerializable.SerializationType
to use when serializing this object. |
String |
getSince() |
Set<String> |
getSupportedDatabases() |
boolean |
isRequiredFor(Database database)
A convenience method for testing the value returned by
getRequiredForDatabase() against a given database. |
void |
setValue(Change change,
Object value)
Sets the value of this parameter on the given change.
|
boolean |
supports(Database database) |
String |
toString() |
ChangeParameterMetaData |
withAccessors(Method readMethod,
Method writeMethod) |
public static final String COMPUTE
public static final String ALL
public static final String NONE
public ChangeParameterMetaData(Change change, String parameterName, String displayName, String description, Map<String,Object> exampleValues, String since, Type dataType, String[] requiredForDatabase, String[] supportedDatabases, String mustEqualExisting, LiquibaseSerializable.SerializationType serializationType)
public ChangeParameterMetaData withAccessors(Method readMethod, Method writeMethod)
protected Set<String> analyzeSupportedDatabases(String[] supportedDatabases)
public String getParameterName()
public String getDisplayName()
public String getSince()
public String getDataType()
public Class getDataTypeClass()
public Type[] getDataTypeClassParameters()
public Set<String> getRequiredForDatabase()
Database.getShortName()
.
If the parameter is required for all databases, this will return the string "all" as an element.
If the parameter is required for no databases, this will return an empty set. Passing the string "none" to the
constructor also results in an empty set.
This method will never return a null valuepublic boolean isRequiredFor(Database database)
getRequiredForDatabase()
against a given database.
Returns true if the Database.getShortName()
method is contained in the required databases or the
required database list contains the string "all"public boolean supports(Database database)
public Object getCurrentValue(Change change)
public void setValue(Change change, Object value)
public String getMustEqualExisting()
DatabaseObject
fields describing what existing
value this parameter would need to be set if applying the Change to a particular DatabaseObject.
For example, in an addColumn Change, the "name" parameter would return "column.name" because if you know of an
existing Column object, the "name" parameter needs to be set to the column's name.
In the addColumn's "tableName" parameter, this method would return "column.table.name".
The values of the chain correspond to the DatabaseObject.getObjectTypeName()
and
DatabaseObject.getAttributes()
This method is used by integrations that want to generate Change instances or configurations pre-filled with
data required to apply to an existing database object.public LiquibaseSerializable.SerializationType getSerializationType()
LiquibaseSerializable.SerializationType
to use when serializing this object.public String getDescription()
Copyright © 2023 Liquibase.org. All rights reserved.