package org.infinispan.hibernate.search.sharedIndex;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import org.hibernate.search.annotations.Analyze;
import org.hibernate.search.annotations.Field;
@Entity
public abstract class Device {
public Device(String manufacturer, String model, String serialNumber) {
this.manufacturer = manufacturer;
this.model = model;
this.serialNumber = serialNumber;
}
@Id
@GeneratedValue
public Long id;
@Field(analyze = Analyze.NO)
@Column(name = "mfg")
public String manufacturer = "";
@Field(analyze = Analyze.NO)
@Column(name = "model")
public String model = "";
@Field(analyze = Analyze.NO)
@Column(name = "serial_number")
public String serialNumber;
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((manufacturer == null) ? 0 : manufacturer.hashCode());
result = prime * result + ((model == null) ? 0 : model.hashCode());
result = prime * result + ((serialNumber == null) ? 0 : serialNumber.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (!(obj instanceof Device)) {
return false;
}
Device other = (Device) obj;
if (manufacturer == null) {
if (other.manufacturer != null) {
return false;
}
} else {
if (!manufacturer.equals(other.manufacturer)) {
return false;
}
}
if (model == null) {
if (other.model != null) {
return false;
}
} else {
if (!model.equals(other.model)) {
return false;
}
}
if (serialNumber == null) {
if (other.serialNumber != null) {
return false;
}
} else {
if (!serialNumber.equals(other.serialNumber)) {
return false;
}
}
return true;
}
}