Package liquibase.snapshot
Class SnapshotControl
java.lang.Object
liquibase.snapshot.SnapshotControl
- All Implemented Interfaces:
LiquibaseSerializable
Allows the class user to influence various aspects of the database object snapshot generation, e.g.
what types of database objects they want.
-
Nested Class Summary
Nested classes/interfaces inherited from interface liquibase.serializer.LiquibaseSerializable
LiquibaseSerializable.SerializationType -
Field Summary
Fields inherited from interface liquibase.serializer.LiquibaseSerializable
GENERIC_CHANGELOG_EXTENSION_NAMESPACE, GENERIC_SNAPSHOT_EXTENSION_NAMESPACE, STANDARD_CHANGELOG_NAMESPACE, STANDARD_SNAPSHOT_NAMESPACE -
Constructor Summary
ConstructorsConstructorDescriptionSnapshotControl(Database database) Create a SnapshotControl for a given database and mark the database's standard types for inclusion.SnapshotControl(Database database, boolean expandTypesIfNeeded, Class<? extends DatabaseObject>... types) SnapshotControl(Database database, Class<? extends DatabaseObject>... types) Create a Snapshot control for a given database, but explicitly set the object types to be included in snapshots.SnapshotControl(Database database, String types) Create a Snapshot control for a given database, but explicitly set the object types to be included in snapshots.SnapshotControl(Database database, ObjectChangeFilter objectChangeFilter, Class<? extends DatabaseObject>... types) -
Method Summary
Modifier and TypeMethodDescriptionbooleanaddType(Class<? extends DatabaseObject> type, Database database) Adds a new DatabaseObject type to the list of object types to be included in snapshots.getSerializableFieldType(String field) getSerializableFieldValue(String field) Set<Class<? extends DatabaseObject>>Return the types to be included in snapshotsbooleanReturns if the code should log a LogLevel.WARNING message if the object to be snapshotted could not be found.voidload(ParsedNode parsedNode, ResourceAccessor resourceAccessor) voidsetSnapshotListener(SnapshotListener snapshotListener) setWarnIfObjectNotFound(boolean warnIfObjectNotFound) Configures the code to log a LogLevel.WARNING message if the object to be snapshotted could not be found.booleanshouldInclude(Class<? extends DatabaseObject> type) Queries the currently registered list of types to be included and returns true if the given type is in that list<T extends DatabaseObject>
booleanshouldInclude(T example)
-
Constructor Details
-
SnapshotControl
Create a SnapshotControl for a given database and mark the database's standard types for inclusion.- Parameters:
database- the DBMS for which snapshots should be generated
-
SnapshotControl
Create a Snapshot control for a given database, but explicitly set the object types to be included in snapshots.- Parameters:
database- the DBMS for which snapshots should be generatedtypes- the list of object types to be included in the snapshot
-
SnapshotControl
@SafeVarargs public SnapshotControl(Database database, boolean expandTypesIfNeeded, Class<? extends DatabaseObject>... types) -
SnapshotControl
Create a Snapshot control for a given database, but explicitly set the object types to be included in snapshots.- Parameters:
database- the DBMS for which snapshots should be generatedtypes- the list of object types to be included in the snapshot, separated by commas
-
SnapshotControl
public SnapshotControl(Database database, ObjectChangeFilter objectChangeFilter, Class<? extends DatabaseObject>... types)
-
-
Method Details
-
getSnapshotListener
-
setSnapshotListener
-
getSerializedObjectName
- Specified by:
getSerializedObjectNamein interfaceLiquibaseSerializable
-
getSerializableFields
- Specified by:
getSerializableFieldsin interfaceLiquibaseSerializable
-
getSerializableFieldValue
- Specified by:
getSerializableFieldValuein interfaceLiquibaseSerializable
-
getSerializableFieldType
- Specified by:
getSerializableFieldTypein interfaceLiquibaseSerializable
-
getSerializedObjectNamespace
- Specified by:
getSerializedObjectNamespacein interfaceLiquibaseSerializable
-
getSerializableFieldNamespace
- Specified by:
getSerializableFieldNamespacein interfaceLiquibaseSerializable
-
addType
Adds a new DatabaseObject type to the list of object types to be included in snapshots.- Parameters:
type- The type to be addeddatabase- The database to check for any dependent types that need to be included as well- Returns:
- true if the type was added to the list, false if it was already present.
-
getTypesToInclude
Return the types to be included in snapshots- Returns:
- the set of currently registered types
-
shouldInclude
Queries the currently registered list of types to be included and returns true if the given type is in that list- Parameters:
type- the DatabaseObject type to be checked- Returns:
- true if that type is registered for inclusion, false if not
-
load
public void load(ParsedNode parsedNode, ResourceAccessor resourceAccessor) throws ParsedNodeException - Specified by:
loadin interfaceLiquibaseSerializable- Throws:
ParsedNodeException
-
serialize
- Specified by:
serializein interfaceLiquibaseSerializable
-
isWarnIfObjectNotFound
public boolean isWarnIfObjectNotFound()Returns if the code should log a LogLevel.WARNING message if the object to be snapshotted could not be found.- Returns:
- true if WARNINGs should be emitted (default), false if not.
-
setWarnIfObjectNotFound
Configures the code to log a LogLevel.WARNING message if the object to be snapshotted could not be found.- Parameters:
warnIfObjectNotFound- true if a warning should emitted (default value), false if not.
-
shouldInclude
-