FK.java
package ru.volnenko.maven.plugin.databasedoc.model.impl;
import lombok.NoArgsConstructor;
import lombok.NonNull;
import ru.volnenko.maven.plugin.databasedoc.model.IFK;
import java.util.Objects;
@NoArgsConstructor
public final class FK implements IFK {
@NonNull
private String tableName = "";
@NonNull
private String fieldName = "";
@NonNull
private Boolean unique = false;
@NonNull
private PK pk = new PK();
@Override
@NonNull
public PK getPk() {
return pk;
}
@Override
public void setPk(@NonNull PK pk) {
this.pk = pk;
}
public FK(@NonNull String tableName, @NonNull String fieldName) {
this.tableName = tableName;
this.fieldName = fieldName;
}
public FK(@NonNull String tableName, @NonNull String fieldName, @NonNull Boolean unique) {
this.tableName = tableName;
this.fieldName = fieldName;
this.unique = unique;
}
@Override
@NonNull
public Boolean getUnique() {
return unique;
}
@Override
public void setUnique(@NonNull Boolean unique) {
this.unique = unique;
}
@Override
@NonNull
public String getTableName() {
return tableName;
}
@Override
public void setTableName(@NonNull String tableName) {
this.tableName = tableName;
}
@Override
@NonNull
public String getFieldName() {
return fieldName;
}
@Override
public void setFieldName(@NonNull String fieldName) {
this.fieldName = fieldName;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
FK fk = (FK) o;
return tableName.equals(fk.tableName) && fieldName.equals(fk.fieldName);
}
@Override
public int hashCode() {
return Objects.hash(tableName, fieldName);
}
@NonNull
public UK toUK() {
@NonNull final UK uk = new UK();
uk.setTableName(tableName);
uk.setFieldName(fieldName);
return uk;
}
}