package won.protocol.model; /** * Created with IntelliJ IDEA. * User: gabriel * Date: 28.08.13 * Time: 16:03 * To change this template use File | Settings | File Templates. */ import javax.persistence.*; import java.net.URI; @Entity @Table(name = "facet", indexes = { @Index(name = "IDX_FACET_NEEEDURI_TYPEURI", columnList = "needURI, typeURI")}) public class Facet { @Id @GeneratedValue @Column( name = "id" ) private Long id; /* The uri of the facet's need object */ @Column( name = "needURI") @Convert( converter = URIConverter.class) private URI needURI; /* The uri of the facet's type */ @Column( name = "typeURI") @Convert( converter = URIConverter.class) private URI typeURI; public Long getId() { return id; } public URI getNeedURI() { return needURI; } public FacetType getFacetType() { return FacetType.getFacetType(typeURI); } public void setNeedURI(URI needURI) { this.needURI = needURI; } public URI getTypeURI() { return typeURI; } public void setTypeURI(URI typeURI) { this.typeURI = typeURI; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Facet facet = (Facet) o; if (id != null ? !id.equals(facet.id) : facet.id != null) return false; if (needURI != null ? !needURI.equals(facet.needURI) : facet.needURI != null) return false; if (typeURI != null ? !typeURI.equals(facet.typeURI) : facet.typeURI != null) return false; return true; } @Override public int hashCode() { int result = id != null ? id.hashCode() : 0; result = 31 * result + (needURI != null ? needURI.hashCode() : 0); result = 31 * result + (typeURI != null ? typeURI.hashCode() : 0); return result; } }