package siena.base.test.model;
import siena.Column;
import siena.Generator;
import siena.Id;
import siena.Max;
import siena.Table;
import siena.base.test.BaseTest;
import siena.core.lifecycle.LifeCyclePhase;
import siena.core.lifecycle.PostFetch;
import siena.core.lifecycle.PreFetch;
@Table("discoveries_lifecycle")
public class DiscoveryLifeCycleMulti {
@Id(Generator.AUTO_INCREMENT)
public Long id;
@Max(100)
public String name;
@Column("discoverer")
public PersonLongAutoID discoverer;
public DiscoveryLifeCycleMulti(String name, PersonLongAutoID discoverer) {
this.name = name;
this.discoverer = discoverer;
}
public DiscoveryLifeCycleMulti() {
}
@PreFetch
@PostFetch
public void doit(LifeCyclePhase lcp) {
System.out.println("doit for "+lcp);
BaseTest.lifeCyclePhase += lcp.toString() + " ";
}
@Override
public boolean equals(Object obj) {
if (obj == null || getClass() != obj.getClass())
return false;
DiscoveryLifeCycleMulti other = (DiscoveryLifeCycleMulti) obj;
if(other.name != null && other.name.equals(name))
return true;
if(other.discoverer != null && other.discoverer.equals(discoverer))
return true;
return false;
}
public boolean isOnlyIdFilled() {
if(this.id != null
&& this.name == null
&& this.discoverer == null
) return true;
return false;
}
public String toString() {
return "Discovery [ id:"+id+" - name:"+name+" - discoverer:"+discoverer+" ]";
}
}