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

schemakeeper.api.SubjectMetadata Maven / Gradle / Ivy

package schemakeeper.api;

import schemakeeper.schema.CompatibilityType;
import schemakeeper.schema.SchemaType;

import java.util.Objects;

public class SubjectMetadata {
    private String subject;
    private CompatibilityType compatibilityType;
    private boolean isLocked;

    public static SubjectMetadata instance(String subject, CompatibilityType compatibilityType) {
        return new SubjectMetadata(subject, compatibilityType);
    }

    public static SubjectMetadata instance(String subject, CompatibilityType compatibilityType, boolean isLocked) {
        return new SubjectMetadata(subject, compatibilityType, isLocked);
    }

    public SubjectMetadata() {
    }

    public SubjectMetadata(String subject, CompatibilityType compatibilityType) {
        this.subject = subject;
        this.compatibilityType = compatibilityType;
        this.isLocked = false;
    }

    public SubjectMetadata(String subject, CompatibilityType compatibilityType, boolean isLocked) {
        this.subject = subject;
        this.compatibilityType = compatibilityType;
        this.isLocked = isLocked;
    }

    public String getSubject() {
        return subject;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    public CompatibilityType getCompatibilityType() {
        return compatibilityType;
    }

    public void setCompatibilityType(CompatibilityType compatibilityType) {
        this.compatibilityType = compatibilityType;
    }

    public boolean isLocked() {
        return isLocked;
    }

    public void setLocked(boolean locked) {
        isLocked = locked;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        SubjectMetadata that = (SubjectMetadata) o;
        return isLocked == that.isLocked &&
                Objects.equals(subject, that.subject) &&
                compatibilityType == that.compatibilityType;
    }

    @Override
    public int hashCode() {
        return Objects.hash(subject, compatibilityType, isLocked);
    }

    @Override
    public String toString() {
        return "SubjectMetadata{" +
                "subject='" + subject + '\'' +
                ", compatibilityType=" + compatibilityType +
                ", isLocked=" + isLocked +
                '}';
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy