class AbstractClearTablesMojo extends AbstractSpeedmentMojo {

	@Parameter(defaultValue = "${project}", required = true, readonly = true)
	private MavenProject mavenProject;

	private @Parameter(defaultValue = "${debug}") Boolean debug;
	private @Parameter(defaultValue = "${dbms.host}") String dbmsHost;
	private @Parameter(defaultValue = "${dbms.port}") int dbmsPort;
	private @Parameter(defaultValue = "${dbms.username}") String dbmsUsername;
	private @Parameter(defaultValue = "${dbms.password}") String dbmsPassword;
	private @Parameter(defaultValue = "${components}") String[] components;
	private @Parameter(defaultValue = "${typeMappers}") Mapping[] typeMappers;
	private @Parameter ConfigParam[] parameters;
	private @Parameter(defaultValue = "${configFile}") String configFile;

	protected AbstractClearTablesMojo() {
	}

	protected AbstractClearTablesMojo(Consumer<ApplicationBuilder<?, ?>> configurer) {
		super(configurer);
	}

	@Override
	protected void execute(Speedment speedment) throws MojoExecutionException, MojoFailureException {<FILL_FUNCTION_BODY>}

	@Override
	protected MavenProject project() {
		return mavenProject;
	}

	@Override
	protected boolean debug() {
		return (debug != null) && debug;
	}

	public String getConfigFile() {
		return configFile;
	}

	@Override
	protected String[] components() {
		return components;
	}

	@Override
	protected Mapping[] typeMappers() {
		return typeMappers;
	}

	@Override
	protected ConfigParam[] parameters() {
		return parameters;
	}

	@Override
	protected String dbmsHost() {
		return dbmsHost;
	}

	@Override
	protected int dbmsPort() {
		return dbmsPort;
	}

	@Override
	protected String dbmsUsername() {
		return dbmsUsername;
	}

	@Override
	protected String dbmsPassword() {
		return dbmsPassword;
	}

}

		getLog().info("Saving default configuration from database to '" + configLocation().toAbsolutePath() + "'.");

		final ConfigFileHelper helper = speedment.getOrThrow(ConfigFileHelper.class);

		try {
			helper.setCurrentlyOpenFile(configLocation().toFile());
			helper.clearTablesAndSaveToFile();
		} catch (final Exception ex) {
			final String err = "An error occured while reloading.";
			getLog().error(err);
			throw new MojoExecutionException(err, ex);
		}
	
<methods>public final void execute() throws org.apache.maven.plugin.MojoExecutionException, org.apache.maven.plugin.MojoFailureException<variables>private static final java.nio.file.Path DEFAULT_CONFIG,private static final Consumer<ApplicationBuilder<?,?>> NOTHING,static final java.lang.String SPECIFIED_CLASS,private final non-sealed Consumer<ApplicationBuilder<?,?>> configurer,public java.lang.String dbmsConnectionUrl