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

liquibase.sql.visitor.AbstractSqlVisitor Maven / Gradle / Ivy

package liquibase.sql.visitor;

import liquibase.change.CheckSum;
import liquibase.serializer.LiquibaseSerializable;
import liquibase.serializer.ReflectionSerializer;
import liquibase.serializer.core.string.StringChangeLogSerializer;

import java.util.Set;

public abstract class AbstractSqlVisitor implements SqlVisitor {
    private Set applicableDbms;
    private boolean applyToRollback;
    private Set contexts;

    @Override
    public Set getApplicableDbms() {
        return applicableDbms;
    }

    @Override
    public void setApplicableDbms(Set applicableDbms) {
        this.applicableDbms = applicableDbms;
    }

    @Override
    public boolean isApplyToRollback() {
        return applyToRollback;
    }

    @Override
    public void setApplyToRollback(boolean applyToRollback) {
        this.applyToRollback = applyToRollback;
    }

    @Override
    public Set getContexts() {
        return contexts;
    }

    @Override
    public void setContexts(Set contexts) {
        this.contexts = contexts;
    }

    @Override
    public CheckSum generateCheckSum() {
        return CheckSum.compute(new StringChangeLogSerializer().serialize(this, false));
    }

    @Override
    public Set getSerializableFields() {
        return ReflectionSerializer.getInstance().getFields(this);
    }

    @Override
    public Object getSerializableFieldValue(String field) {
        return ReflectionSerializer.getInstance().getValue(this, field);
    }

    @Override
    public String getSerializedObjectName() {
        return getName();
    }

    @Override
    public SerializationType getSerializableFieldType(String field) {
        return SerializationType.NAMED_FIELD;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy