Top Fields Constructors Methods
liquibase.parser

public abstract Class AbstractFormattedChangeLogParser

extends Object
implements ChangeLogParser
Class Inheritance
All Implemented Interfaces
liquibase.parser.ChangeLogParser, liquibase.parser.LiquibaseParser, liquibase.servicelocator.PrioritizedService
Known Direct Subclasses
liquibase.parser.core.formattedsql.FormattedSqlChangeLogParser
Annotations
@SuppressWarnings:java:S2583
Imports
liquibase.Labels, .Scope, liquibase.change.AbstractSQLChange, .Change, liquibase.change.core.EmptyChange, liquibase.changelog.ChangeLogParameters, .ChangeSet, .DatabaseChangeLog, liquibase.changeset.ChangeSetService, .ChangeSetServiceFactory, liquibase.exception.ChangeLogParseException, liquibase.resource.ResourceAccessor, liquibase.util.StreamUtil, .StringUtil, java.io.BufferedReader, .IOException, .InputStream, java.util.ResourceBundle, java.util.regex.Matcher, .Pattern

Field Summary

Modifier and TypeField and Description
protected final Pattern
protected final String
protected final Pattern
protected final String
protected final Pattern
protected final String
protected final Pattern
protected final String
protected final Pattern
protected final String
protected final Pattern
protected final String
protected final Pattern
protected final String
protected final Pattern
protected final String
protected final Pattern
protected final String
protected final Pattern
protected final String
protected final Pattern
protected final String
protected final Pattern
protected final String
protected final Pattern
protected final String
protected final Pattern
protected static final String
protected final Pattern
protected static final String
private static final ResourceBundle
protected final Pattern
protected static final String
protected static final String
protected final Pattern
protected static final String
protected static final String
protected final Pattern
protected static final String
protected final Pattern
protected final String
protected final Pattern
protected static final String
protected final Pattern
protected final String
protected final Pattern
protected static final String
protected final Pattern
protected static final String
protected final Pattern
protected static final String
protected final Pattern
protected static final String
protected final Pattern
protected static final String
protected final Pattern
protected static final String
protected final Pattern
protected final String
protected final Pattern
protected final String
protected final Pattern
protected final String
protected final Pattern
protected static final String
protected final Pattern
protected static final String
protected final Pattern
protected static final String
protected final Pattern
protected static final String
protected final Pattern
protected final String
protected final Pattern
protected final String
protected final Pattern
protected final String
protected final Pattern
protected static final String
protected final Pattern
protected static final String
protected final Pattern
protected static final String
protected final Pattern
protected static final String
protected final Pattern
protected static final String
protected final Pattern
protected static final String
protected static final String
protected final Pattern
protected static final String
protected final Pattern
protected static final String
protected final Pattern
protected final String
protected final Pattern
protected static final String
protected final Pattern[]
protected static final String

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
protected void
protected void
configureChangeSet(String physicalChangeLogLocation, ChangeLogParameters changeLogParameters, BufferedReader reader, StringBuilder currentSequence, StringBuilder currentRollbackSequence, ChangeSet changeSet, int count, String line, Matcher commentMatcher, ResourceAccessor resourceAccessor)

protected ChangeSet
configureChangeSet(DatabaseChangeLog changeLog, boolean runOnChange, boolean runAlways, boolean runInTransaction, boolean failOnError, String runWith, String runWithSpoolFile, String context, String labels, String logicalFilePath, String dbms, String ignore, String changeSetId, String changeSetAuthor)

private void
configureRollbackChange(ChangeLogParameters changeLogParameters, StringBuilder currentRollbackSequence, ChangeSet changeSet, Matcher rollbackSplitStatementsPatternMatcher, boolean rollbackSplitStatements, String rollbackEndDelimiter)

private void
configureRollbackChangeSet(String physicalChangeLogLocation, DatabaseChangeLog changeLog, ChangeSet changeSet, String currentRollBackSequenceAsString)

private StringBuilder
protected abstract AbstractSQLChange
protected abstract String
public int
protected abstract String
protected abstract String
protected abstract String
protected abstract String
protected abstract void
handlePreconditionCase(ChangeLogParameters changeLogParameters, ChangeSet changeSet, Matcher preconditionMatcher)

protected abstract void
handlePreconditionsCase(ChangeSet changeSet, int count, Matcher preconditionsMatcher)

private void
handleProperty(ChangeLogParameters changeLogParameters, DatabaseChangeLog changeLog, String line)

private void
handleRollbackSequence(String physicalChangeLogLocation, ChangeLogParameters changeLogParameters, DatabaseChangeLog changeLog, StringBuilder currentRollbackSequence, ChangeSet changeSet, Matcher rollbackSplitStatementsPatternMatcher, boolean rollbackSplitStatements, String rollbackEndDelimiter)

protected abstract boolean
protected InputStream
openChangeLogFile(String physicalChangeLogLocation, ResourceAccessor resourceAccessor)

public DatabaseChangeLog
parse(String
the physical location of the changelog. The exact file formats and locations where can load changelog files from depend on the implementations and capabilities of the implementing parsers.
physicalChangeLogLocation
,
ChangeLogParameters
parameters given by the end user that should be applied while parsing the changelog (i.e. replacement of ${placeholders} inside the changelogs with user-defined content)
changeLogParameters
,
ResourceAccessor
a Java resource accessor
resourceAccessor
)

Implements liquibase.parser.ChangeLogParser.parse.

Parses a Liquibase database changelog and returns the parsed form as an object.

private boolean
parseBoolean(Matcher matcher, boolean defaultValue)

private boolean
parseBoolean(Matcher matcher, ChangeSet changeSet, boolean defaultValue)

protected String
protected abstract void
setChangeSequence(AbstractSQLChange change, String finalCurrentSequence)

protected abstract void
setChangeSequence(ChangeLogParameters changeLogParameters, StringBuilder currentSequence, ChangeSet changeSet, AbstractSQLChange change)

protected void
setLogicalFilePath(DatabaseChangeLog changeLog, String line, Matcher changeLogPatterMatcher)

public boolean
supports(String
the location of the changelog file
changeLogFile
,
ResourceAccessor
the resource accessor
resourceAccessor
)

Implements liquibase.parser.ChangeLogParser.supports.

Checks if the file format is supported by an implementing ChangeLogParser and returns true if that is the case.

protected abstract boolean
supportsExtension(String changelogFile)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

ALT_CHANGE_SET_NO_OTHER_INFO_PATTERNback to summary
protected final Pattern ALT_CHANGE_SET_NO_OTHER_INFO_PATTERN
ALT_CHANGE_SET_NO_OTHER_INFO_REGEXback to summary
protected final String ALT_CHANGE_SET_NO_OTHER_INFO_REGEX
ALT_CHANGE_SET_ONE_CHARACTER_PATTERNback to summary
protected final Pattern ALT_CHANGE_SET_ONE_CHARACTER_PATTERN
ALT_CHANGE_SET_ONE_CHARACTER_REGEXback to summary
protected final String ALT_CHANGE_SET_ONE_CHARACTER_REGEX
ALT_COMMENT_ONE_CHARACTER_PATTERNback to summary
protected final Pattern ALT_COMMENT_ONE_CHARACTER_PATTERN
ALT_COMMENT_ONE_CHARACTER_REGEXback to summary
protected final String ALT_COMMENT_ONE_CHARACTER_REGEX
ALT_COMMENT_PLURAL_PATTERNback to summary
protected final Pattern ALT_COMMENT_PLURAL_PATTERN
ALT_COMMENT_PLURAL_REGEXback to summary
protected final String ALT_COMMENT_PLURAL_REGEX
ALT_IGNORE_LINES_ONE_CHARACTER_PATTERNback to summary
protected final Pattern ALT_IGNORE_LINES_ONE_CHARACTER_PATTERN
ALT_IGNORE_LINES_ONE_CHARACTER_REGEXback to summary
protected final String ALT_IGNORE_LINES_ONE_CHARACTER_REGEX
ALT_IGNORE_PATTERNback to summary
protected final Pattern ALT_IGNORE_PATTERN
ALT_IGNORE_REGEXback to summary
protected final String ALT_IGNORE_REGEX
ALT_PRECONDITION_ONE_CHARACTER_PATTERNback to summary
protected final Pattern ALT_PRECONDITION_ONE_CHARACTER_PATTERN
ALT_PRECONDITION_ONE_CHARACTER_REGEXback to summary
protected final String ALT_PRECONDITION_ONE_CHARACTER_REGEX
ALT_PRECONDITIONS_ONE_CHARACTER_PATTERNback to summary
protected final Pattern ALT_PRECONDITIONS_ONE_CHARACTER_PATTERN
ALT_PRECONDITIONS_ONE_CHARACTER_REGEXback to summary
protected final String ALT_PRECONDITIONS_ONE_CHARACTER_REGEX
ALT_PROPERTY_ONE_CHARACTER_PATTERNback to summary
protected final Pattern ALT_PROPERTY_ONE_CHARACTER_PATTERN
ALT_PROPERTY_ONE_CHARACTER_REGEXback to summary
protected final String ALT_PROPERTY_ONE_CHARACTER_REGEX
ALT_ROLLBACK_ONE_CHARACTER_PATTERNback to summary
protected final Pattern ALT_ROLLBACK_ONE_CHARACTER_PATTERN
ALT_ROLLBACK_ONE_CHARACTER_REGEXback to summary
protected final String ALT_ROLLBACK_ONE_CHARACTER_REGEX
ALT_VALID_CHECK_SUM_ONE_CHARACTER_PATTERNback to summary
protected final Pattern ALT_VALID_CHECK_SUM_ONE_CHARACTER_PATTERN
ALT_VALID_CHECK_SUM_ONE_CHARACTER_REGEXback to summary
protected final String ALT_VALID_CHECK_SUM_ONE_CHARACTER_REGEX
CHANGE_SET_PATTERNback to summary
protected final Pattern CHANGE_SET_PATTERN
CHANGE_SET_REGEXback to summary
protected final String CHANGE_SET_REGEX
COMMENT_PATTERNback to summary
protected final Pattern COMMENT_PATTERN
COMMENT_REGEXback to summary
protected final String COMMENT_REGEX
CONTEXT_FILTER_PATTERNback to summary
protected final Pattern CONTEXT_FILTER_PATTERN
CONTEXT_FILTER_REGEXback to summary
protected static final String CONTEXT_FILTER_REGEX
CONTEXT_PATTERNback to summary
protected final Pattern CONTEXT_PATTERN
CONTEXT_REGEXback to summary
protected static final String CONTEXT_REGEX
coreBundleback to summary
private static final ResourceBundle coreBundle
DBMS_PATTERNback to summary
protected final Pattern DBMS_PATTERN
DBMS_REGEXback to summary
protected static final String DBMS_REGEX
DOUBLE_QUOTE_RESULT_REGEXback to summary
protected static final String DOUBLE_QUOTE_RESULT_REGEX
END_DELIMITER_PATTERNback to summary
protected final Pattern END_DELIMITER_PATTERN
END_DELIMITER_REGEXback to summary
protected static final String END_DELIMITER_REGEX
EXCEPTION_MESSAGEback to summary
protected static final String EXCEPTION_MESSAGE
FAIL_ON_ERROR_PATTERNback to summary
protected final Pattern FAIL_ON_ERROR_PATTERN
FAIL_ON_ERROR_REGEXback to summary
protected static final String FAIL_ON_ERROR_REGEX
FIRST_LINE_PATTERNback to summary
protected final Pattern FIRST_LINE_PATTERN
FIRST_LINE_REGEXback to summary
protected final String FIRST_LINE_REGEX
GLOBAL_PATTERNback to summary
protected final Pattern GLOBAL_PATTERN
GLOBAL_REGEXback to summary
protected static final String GLOBAL_REGEX
IGNORE_LINES_PATTERNback to summary
protected final Pattern IGNORE_LINES_PATTERN
IGNORE_LINES_REGEXback to summary
protected final String IGNORE_LINES_REGEX
IGNORE_PATTERNback to summary
protected final Pattern IGNORE_PATTERN
IGNORE_REGEXback to summary
protected static final String IGNORE_REGEX
LABELS_PATTERNback to summary
protected final Pattern LABELS_PATTERN
LABELS_REGEXback to summary
protected static final String LABELS_REGEX
LOGICAL_FILE_PATH_PATTERNback to summary
protected final Pattern LOGICAL_FILE_PATH_PATTERN
LOGICAL_FILE_PATH_REGEXback to summary
protected static final String LOGICAL_FILE_PATH_REGEX
NAME_PATTERNback to summary
protected final Pattern NAME_PATTERN
NAME_REGEXback to summary
protected static final String NAME_REGEX
ON_ERROR_PATTERNback to summary
protected final Pattern ON_ERROR_PATTERN
ON_ERROR_REGEXback to summary
protected static final String ON_ERROR_REGEX
ON_FAIL_PATTERNback to summary
protected final Pattern ON_FAIL_PATTERN
ON_FAIL_REGEXback to summary
protected static final String ON_FAIL_REGEX
PRECONDITION_PATTERNback to summary
protected final Pattern PRECONDITION_PATTERN
PRECONDITION_REGEXback to summary
protected final String PRECONDITION_REGEX
PRECONDITIONS_PATTERNback to summary
protected final Pattern PRECONDITIONS_PATTERN
PRECONDITIONS_REGEXback to summary
protected final String PRECONDITIONS_REGEX
PROPERTY_PATTERNback to summary
protected final Pattern PROPERTY_PATTERN
PROPERTY_REGEXback to summary
protected final String PROPERTY_REGEX
ROLLBACK_CHANGE_SET_AUTHOR_PATTERNback to summary
protected final Pattern ROLLBACK_CHANGE_SET_AUTHOR_PATTERN
ROLLBACK_CHANGE_SET_AUTHOR_REGEXback to summary
protected static final String ROLLBACK_CHANGE_SET_AUTHOR_REGEX
ROLLBACK_CHANGE_SET_ID_PATTERNback to summary
protected final Pattern ROLLBACK_CHANGE_SET_ID_PATTERN
ROLLBACK_CHANGE_SET_ID_REGEXback to summary
protected static final String ROLLBACK_CHANGE_SET_ID_REGEX
ROLLBACK_CHANGE_SET_PATH_PATTERNback to summary
protected final Pattern ROLLBACK_CHANGE_SET_PATH_PATTERN
ROLLBACK_CHANGE_SET_PATH_REGEXback to summary
protected static final String ROLLBACK_CHANGE_SET_PATH_REGEX
ROLLBACK_END_DELIMITER_PATTERNback to summary
protected final Pattern ROLLBACK_END_DELIMITER_PATTERN
ROLLBACK_END_DELIMITER_REGEXback to summary
protected static final String ROLLBACK_END_DELIMITER_REGEX
ROLLBACK_MULTI_LINE_END_PATTERNback to summary
protected final Pattern ROLLBACK_MULTI_LINE_END_PATTERN
ROLLBACK_MULTI_LINE_END_REGEXback to summary
protected final String ROLLBACK_MULTI_LINE_END_REGEX
ROLLBACK_MULTI_LINE_START_PATTERNback to summary
protected final Pattern ROLLBACK_MULTI_LINE_START_PATTERN
ROLLBACK_MULTI_LINE_START_REGEXback to summary
protected final String ROLLBACK_MULTI_LINE_START_REGEX
ROLLBACK_PATTERNback to summary
protected final Pattern ROLLBACK_PATTERN
ROLLBACK_REGEXback to summary
protected final String ROLLBACK_REGEX
ROLLBACK_SPLIT_STATEMENTS_PATTERNback to summary
protected final Pattern ROLLBACK_SPLIT_STATEMENTS_PATTERN
ROLLBACK_SPLIT_STATEMENTS_REGEXback to summary
protected static final String ROLLBACK_SPLIT_STATEMENTS_REGEX
RUN_ALWAYS_PATTERNback to summary
protected final Pattern RUN_ALWAYS_PATTERN
RUN_ALWAYS_REGEXback to summary
protected static final String RUN_ALWAYS_REGEX
RUN_IN_TRANSACTION_PATTERNback to summary
protected final Pattern RUN_IN_TRANSACTION_PATTERN
RUN_IN_TRANSACTION_REGEXback to summary
protected static final String RUN_IN_TRANSACTION_REGEX
RUN_ON_CHANGE_PATTERNback to summary
protected final Pattern RUN_ON_CHANGE_PATTERN
RUN_ON_CHANGE_REGEXback to summary
protected static final String RUN_ON_CHANGE_REGEX
RUN_WITH_PATTERNback to summary
protected final Pattern RUN_WITH_PATTERN
RUN_WITH_REGEXback to summary
protected static final String RUN_WITH_REGEX
RUN_WITH_SPOOL_FILE_PATTERNback to summary
protected final Pattern RUN_WITH_SPOOL_FILE_PATTERN
RUN_WITH_SPOOL_FILE_REGEXback to summary
protected static final String RUN_WITH_SPOOL_FILE_REGEX
SINGLE_QUOTE_RESULT_REGEXback to summary
protected static final String SINGLE_QUOTE_RESULT_REGEX
SPLIT_STATEMENTS_PATTERNback to summary
protected final Pattern SPLIT_STATEMENTS_PATTERN
SPLIT_STATEMENTS_REGEXback to summary
protected static final String SPLIT_STATEMENTS_REGEX
STRIP_COMMENTS_PATTERNback to summary
protected final Pattern STRIP_COMMENTS_PATTERN
STRIP_COMMENTS_REGEXback to summary
protected static final String STRIP_COMMENTS_REGEX
VALID_CHECK_SUM_PATTERNback to summary
protected final Pattern VALID_CHECK_SUM_PATTERN
VALID_CHECK_SUM_REGEXback to summary
protected final String VALID_CHECK_SUM_REGEX
VALUE_PATTERNback to summary
protected final Pattern VALUE_PATTERN
VALUE_REGEXback to summary
protected static final String VALUE_REGEX
WORD_AND_QUOTING_PATTERNSback to summary
protected final Pattern[] WORD_AND_QUOTING_PATTERNS
WORD_RESULT_REGEXback to summary
protected static final String WORD_RESULT_REGEX

Constructor Detail

AbstractFormattedChangeLogParserback to summary
public AbstractFormattedChangeLogParser()

Method Detail

configureChangeSetback to summary
protected void configureChangeSet(String physicalChangeLogLocation, ChangeLogParameters changeLogParameters, BufferedReader reader, StringBuilder currentSequence, StringBuilder currentRollbackSequence, ChangeSet changeSet, int count, String line, Matcher commentMatcher) throws ChangeLogParseException, IOException
Annotations
@Deprecated
configureChangeSetback to summary
protected void configureChangeSet(String physicalChangeLogLocation, ChangeLogParameters changeLogParameters, BufferedReader reader, StringBuilder currentSequence, StringBuilder currentRollbackSequence, ChangeSet changeSet, int count, String line, Matcher commentMatcher, ResourceAccessor resourceAccessor) throws ChangeLogParseException, IOException
configureChangeSetback to summary
protected ChangeSet configureChangeSet(DatabaseChangeLog changeLog, boolean runOnChange, boolean runAlways, boolean runInTransaction, boolean failOnError, String runWith, String runWithSpoolFile, String context, String labels, String logicalFilePath, String dbms, String ignore, String changeSetId, String changeSetAuthor)
configureRollbackChangeback to summary
private void configureRollbackChange(ChangeLogParameters changeLogParameters, StringBuilder currentRollbackSequence, ChangeSet changeSet, Matcher rollbackSplitStatementsPatternMatcher, boolean rollbackSplitStatements, String rollbackEndDelimiter)
configureRollbackChangeSetback to summary
private void configureRollbackChangeSet(String physicalChangeLogLocation, DatabaseChangeLog changeLog, ChangeSet changeSet, String currentRollBackSequenceAsString) throws ChangeLogParseException
extractMultiLineRollBackback to summary
private StringBuilder extractMultiLineRollBack(BufferedReader reader) throws IOException, ChangeLogParseException
getChangeback to summary
protected abstract AbstractSQLChange getChange()
getEndMultiLineCommentSequenceback to summary
protected abstract String getEndMultiLineCommentSequence()
getPriorityback to summary
public int getPriority()

Implements liquibase.servicelocator.PrioritizedService.getPriority.

Annotations
@Override
getSequenceNameback to summary
protected abstract String getSequenceName()
getSingleLineCommentOneCharacterback to summary
protected abstract String getSingleLineCommentOneCharacter()
getSingleLineCommentSequenceback to summary
protected abstract String getSingleLineCommentSequence()
getStartMultiLineCommentSequenceback to summary
protected abstract String getStartMultiLineCommentSequence()
handlePreconditionCaseback to summary
protected abstract void handlePreconditionCase(ChangeLogParameters changeLogParameters, ChangeSet changeSet, Matcher preconditionMatcher) throws ChangeLogParseException
handlePreconditionsCaseback to summary
protected abstract void handlePreconditionsCase(ChangeSet changeSet, int count, Matcher preconditionsMatcher) throws ChangeLogParseException
handlePropertyback to summary
private void handleProperty(ChangeLogParameters changeLogParameters, DatabaseChangeLog changeLog, String line)
handleRollbackSequenceback to summary
private void handleRollbackSequence(String physicalChangeLogLocation, ChangeLogParameters changeLogParameters, DatabaseChangeLog changeLog, StringBuilder currentRollbackSequence, ChangeSet changeSet, Matcher rollbackSplitStatementsPatternMatcher, boolean rollbackSplitStatements, String rollbackEndDelimiter) throws ChangeLogParseException
isNotEndDelimiterback to summary
protected abstract boolean isNotEndDelimiter(AbstractSQLChange change)
openChangeLogFileback to summary
protected InputStream openChangeLogFile(String physicalChangeLogLocation, ResourceAccessor resourceAccessor) throws IOException
parseback to summary
public DatabaseChangeLog parse(String physicalChangeLogLocation, ChangeLogParameters changeLogParameters, ResourceAccessor resourceAccessor) throws ChangeLogParseException

Implements liquibase.parser.ChangeLogParser.parse.

Doc from liquibase.parser.ChangeLogParser.parse.

Parses a Liquibase database changelog and returns the parsed form as an object.

Parameters
physicalChangeLogLocation:String

the physical location of the changelog. The exact file formats and locations where can load changelog files from depend on the implementations and capabilities of the implementing parsers.

changeLogParameters:ChangeLogParameters

parameters given by the end user that should be applied while parsing the changelog (i.e. replacement of ${placeholders} inside the changelogs with user-defined content)

resourceAccessor:ResourceAccessor

a Java resource accessor

Returns:DatabaseChangeLog

the parsed ChangeLog in object form

Annotations
@Override
Exceptions
ChangeLogParseException:
if an error occurs during parsing of the ChangeLog
parseBooleanback to summary
private boolean parseBoolean(Matcher matcher, boolean defaultValue)
parseBooleanback to summary
private boolean parseBoolean(Matcher matcher, ChangeSet changeSet, boolean defaultValue) throws ChangeLogParseException
parseStringback to summary
protected String parseString(Matcher matcher)
setChangeSequenceback to summary
protected abstract void setChangeSequence(AbstractSQLChange change, String finalCurrentSequence)
setChangeSequenceback to summary
protected abstract void setChangeSequence(ChangeLogParameters changeLogParameters, StringBuilder currentSequence, ChangeSet changeSet, AbstractSQLChange change)
setLogicalFilePathback to summary
protected void setLogicalFilePath(DatabaseChangeLog changeLog, String line, Matcher changeLogPatterMatcher)
supportsback to summary
public boolean supports(String changeLogFile, ResourceAccessor resourceAccessor)

Implements liquibase.parser.ChangeLogParser.supports.

Doc from liquibase.parser.ChangeLogParser.supports.

Checks if the file format is supported by an implementing ChangeLogParser and returns true if that is the case.

Parameters
changeLogFile:String

the location of the changelog file

resourceAccessor:ResourceAccessor

the resource accessor

Returns:boolean

true if the file format is supported, false if it is not.

Annotations
@Override
supportsExtensionback to summary
protected abstract boolean supportsExtension(String changelogFile)