package de.dhbw.humbuch.model.entity;
import java.io.Serializable;
import java.util.Map;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
/**
* @author David Vitt
*
*/
@Entity
@Table(name="setting")
public class SettingsEntry implements Map.Entry<String, String>, de.dhbw.humbuch.model.entity.Entity, Serializable {
private static final long serialVersionUID = -2998393509203242955L;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int id;
private String settingKey;
private String settingValue;
private String settingStandardValue;
/**
* Required by Hibernate.<p>
* Use the {@link Builder} instead.
*
* @see Builder
*/
@Deprecated
public SettingsEntry() {}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getSettingKey() {
return settingKey;
}
public void setSettingKey(String settingKey) {
this.settingKey = settingKey;
}
public String getSettingValue() {
return settingValue;
}
public void setSettingValue(String settingValue) {
this.settingValue = settingValue;
}
public String getSettingStandardValue() {
return settingStandardValue;
}
public void setSettingStandardValue(String settingStandardValue) {
this.settingStandardValue = settingStandardValue;
}
@Override
public String getKey() {
return settingKey;
}
@Override
public String getValue() {
return settingValue;
}
@Override
public String setValue(String value) {
return this.settingValue = value;
}
public static class Builder {
private String key;
private String value;
private String standardValue;
public Builder(String key, String value, String standardValue) {
this.key = key;
this.value = value;
this.standardValue = standardValue;
}
public SettingsEntry build() {
return new SettingsEntry(this);
}
}
public SettingsEntry(Builder builder) {
this.settingKey = builder.key;
this.settingValue = builder.value;
this.settingStandardValue = builder.standardValue;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((settingKey == null) ? 0 : settingKey.hashCode());
result = prime * result + ((settingValue == null) ? 0 : settingValue.hashCode());
result = prime * result + ((settingStandardValue == null) ? 0 : settingStandardValue.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (!(obj instanceof SettingsEntry))
return false;
SettingsEntry other = (SettingsEntry) obj;
if (settingKey == null) {
if (other.settingKey != null)
return false;
} else if (!settingKey.equals(other.settingKey))
return false;
if (settingValue == null) {
if (other.settingValue != null)
return false;
} else if (!settingValue.equals(other.settingValue))
return false;
if (settingStandardValue == null) {
if (other.settingStandardValue != null)
return false;
} else if (!settingStandardValue.equals(other.settingStandardValue))
return false;
return true;
}
}