class AbstractLiquibaseFlowMojo extends AbstractLiquibaseMojo {
    /**
     * Specifies the <i>flowFile</i> to use. If not specified, the default
     * checks will be used and no file will be created.
     *
     * @parameter property="liquibase.flowFile"
     */
    @PropertyElement
    protected String flowFile;

    /**
     * @parameter property="liquibase.outputFile"
     */
    @PropertyElement
    protected File outputFile;

    /**
     * Arbitrary map of parameters that the underlying liquibase command will use. These arguments will be passed
     * verbatim to the underlying liquibase command that is being run.
     *
     * @parameter property="flowCommandArguments"
     */
    @PropertyElement
    protected Map<String, Object> flowCommandArguments;

    @Override
    public boolean databaseConnectionRequired() {
        return false;
    }

    @Override
    protected void performLiquibaseTask(Liquibase liquibase) throws LiquibaseException {<FILL_FUNCTION_BODY>}

    public abstract String[] getCommandName();
}

        CommandScope liquibaseCommand = new CommandScope(getCommandName());
        liquibaseCommand.addArgumentValue("flowFile", flowFile);
        liquibaseCommand.addArgumentValue("flowIntegration", "maven");
        if (flowCommandArguments != null) {
            FlowCommandArgumentValueProvider flowCommandArgumentValueProvider = new FlowCommandArgumentValueProvider(flowCommandArguments);
            Scope.getCurrentScope().getSingleton(LiquibaseConfiguration.class).registerProvider(flowCommandArgumentValueProvider);
        }
        if (outputFile != null) {
            try {
                liquibaseCommand.setOutput(Files.newOutputStream(outputFile.toPath()));
            } catch (IOException e) {
                throw new CommandExecutionException(e);
            }
        }
        liquibaseCommand.execute();
    
<methods>public non-sealed void <init>() ,public void configureFieldsAndValues() throws MojoExecutionException,public boolean databaseConnectionRequired() ,public void execute() throws MojoExecutionException, MojoFailureException,public synchronized Log getLog() ,public void setPassword(java.lang.String) throws java.lang.Exception,public void setUrl(java.lang.String) throws java.lang.Exception,public void setUsername(java.lang.String) throws java.lang.Exception<variables>private static final java.lang.String DEFAULT_FIELD_SUFFIX,private static final Set<java.lang.String> EXCLUDED_CONFIGURATION_PROPERTIES,protected java.lang.String changeExecListenerClass,protected java.lang.String changeExecListenerPropertiesFile,protected java.lang.String changelogCatalogName,protected java.lang.String changelogSchemaName,protected boolean clearCheckSums,protected java.lang.String commandName,private static final java.util.ResourceBundle coreBundle,protected java.lang.String databaseChangeLogLockTableName,protected java.lang.String databaseChangeLogTableName,protected java.lang.Boolean databaseChangelogHistoryCaptureExtensions,protected java.lang.Boolean databaseChangelogHistoryCaptureSql,protected java.lang.Boolean databaseChangelogHistoryEnabled,protected java.lang.String databaseClass,protected java.lang.Boolean dbclHistoryCaptureExtensions,protected java.lang.Boolean dbclHistoryCaptureSql,protected java.lang.Boolean dbclHistoryEnabled,protected java.lang.String defaultCatalogName,protected liquibase.changelog.visitor.DefaultChangeExecListener defaultChangeExecListener,protected java.lang.String defaultSchemaName,protected java.lang.String driver,private java.io.File driverPropertiesFile,protected boolean emptyPassword,private Map#RAW expressionVariables,private java.util.Properties expressionVars,protected boolean includeArtifact,protected boolean includeTestOutputDirectory,private liquibase.Liquibase liquibase,private java.lang.String liquibaseLicenseKey,private java.lang.String liquibaseProLicenseKey,private org.liquibase.maven.plugins.MavenLog logCache,protected java.lang.String logFormat,protected java.lang.String logLevel,protected java.lang.String logging,protected MojoExecution mojoExecution,protected boolean outputDefaultCatalog,protected boolean outputDefaultSchema,protected java.lang.String outputFileEncoding,protected java.lang.String password,protected java.lang.Boolean preserveSchemaCase,protected MavenProject project,protected boolean promptOnNonLocalDatabase,protected java.lang.String propertyFile,protected boolean propertyFileWillOverride,protected java.lang.String propertyProviderClass,protected java.lang.String psqlArgs,protected java.lang.Boolean psqlKeepTemp,protected java.lang.String psqlKeepTempName,protected java.lang.String psqlKeepTempPath,protected java.lang.String psqlLogFile,protected java.lang.String psqlPath,protected java.lang.Integer psqlTimeout,protected java.lang.String searchPath,private java.lang.String server,protected MavenSession session,protected boolean showBanner,protected boolean skip,protected java.lang.String skipOnFileExists,protected java.lang.String sqlPlusArgs,protected java.lang.Boolean sqlPlusKeepTemp,protected java.lang.String sqlPlusKeepTempName,protected java.lang.Boolean sqlPlusKeepTempOverwrite,protected java.lang.String sqlPlusKeepTempPath,protected java.lang.String sqlPlusLogFile,protected java.lang.String sqlPlusPath,protected java.lang.Integer sqlPlusTimeout,protected java.lang.String sqlcmdArgs,protected java.lang.String sqlcmdCatalogName,protected java.lang.Boolean sqlcmdKeepTemp,protected java.lang.String sqlcmdKeepTempName,protected java.lang.Boolean sqlcmdKeepTempOverwrite,protected java.lang.String sqlcmdKeepTempPath,protected java.lang.String sqlcmdLogFile,protected java.lang.String sqlcmdPath,protected java.lang.Integer sqlcmdTimeout,protected java.util.Properties systemProperties,protected java.lang.String url,protected java.lang.String username,protected boolean verbose,protected WagonManager wagonManager