All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jsoftware.config.AbstractPatch Maven / Gradle / Ivy

package org.jsoftware.config;

import java.io.File;
import java.io.Serializable;
import java.util.Date;

public abstract class AbstractPatch implements Serializable {
	
	private static final long serialVersionUID = 4178101927323891639L;

    public static String normalizeName(String name) {
        String nameLC = name.toLowerCase();
        while(nameLC.endsWith(".sql") || nameLC.endsWith(".undo") || nameLC.endsWith(".rollback")) {
            int dot = nameLC.lastIndexOf('.');
            nameLC = nameLC.substring(0, dot);
        }
        return name.substring(0, nameLC.length());
    }

    public enum DbState {
        COMMITTED, IN_PROGRESS, NOT_AVAILABLE
	}
	
	private String name;
	private int statementCount = -1;
	private File file;
	private Date dbDate;
	private DbState dbState;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getStatementCount() {
		return statementCount;
	}
	public void setStatementCount(int statementCount) {
		this.statementCount = statementCount;
	}
	public File getFile() {
		return file;
	}
	public void setFile(File file) {
		this.file = file;
	}
	public void setDbDate(Date dbDate) {
		this.dbDate = dbDate;
	}
	public void setDbState(DbState dbState) {
		this.dbState = dbState;
	}
	public Date getDbDate() {
		return dbDate;
	}
	public DbState getDbState() {
		return dbState;
	}
	public abstract boolean canApply();
	@Override
	public String toString() {
		return super.toString() + "-" + name;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy