liquibase.parser.ChangeLogParser implementations allow you to read database changelog files written in different formats. The default changelog format is XML based, but there is nothing inherently XML in the LiquiBase internals.
Custom parsers must implement liquibase.parser.ChangeLogParser, which includes the following methods:
public String[] getValidFileExtensions(); |
Returns the file extensions this parser understands. When LiquiBase is fed a change log file, it will choose the parser based on the file extension.
public DatabaseChangeLog parse(String physicalChangeLogLocation, Map<String, Object> changeLogParameters, FileOpener fileOpener) throws ChangeLogParseException |
Does the work of parsing a given changelog file into the internal DatabaseChangeLog object structure used by the rest of LiquiBase.
There are two ways to register a custom ChangeLogParsers:
ChangeLogParsers implementations should be created thread safe. Once an instance of a ChangeLogParser registered, ChangeLogParserFactory will continue to use the return instance.