001package org.biopax.paxtools.impl.level3; 002 003import org.biopax.paxtools.model.BioPAXElement; 004import org.biopax.paxtools.model.level3.KPrime; 005import org.hibernate.annotations.Cache; 006import org.hibernate.annotations.CacheConcurrencyStrategy; 007import org.hibernate.annotations.Proxy; 008import org.hibernate.annotations.DynamicInsert; 009import org.hibernate.annotations.DynamicUpdate; 010import org.hibernate.search.annotations.Indexed; 011 012import javax.persistence.Entity; 013import javax.persistence.Transient; 014 015import static java.lang.Float.compare; 016 017/** 018 */ 019@Entity 020@Proxy(proxyClass=KPrime.class) 021@Indexed 022@DynamicUpdate @DynamicInsert 023@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) 024public class KPrimeImpl extends ChemicalConstantImpl implements KPrime 025{ 026 027 private float kPrime = UNKNOWN_FLOAT; 028 029 030 public KPrimeImpl() { 031 } 032 033 // 034 // bioPAXElement interface implementation 035 // 036 //////////////////////////////////////////////////////////////////////////// 037 038 @Transient 039 public Class<? extends KPrime> getModelInterface() 040 { 041 return KPrime.class; 042 } 043 044 protected boolean semanticallyEquivalent(BioPAXElement element) 045 { 046 return super.semanticallyEquivalent(element) && (compare(((KPrime) element).getKPrime(), kPrime) == 0); 047 } 048 049 public int equivalenceCode() 050 { 051 return super.equivalenceCode()+ 052 29 + kPrime != +0.0f ? 053 Float.floatToIntBits(kPrime) : 0; 054 } 055 056 // 057 // KPrime interface implementation 058 // 059 //////////////////////////////////////////////////////////////////////////// 060 061 062 public float getKPrime() 063 { 064 return kPrime; 065 } 066 067 public void setKPrime(float prime) 068 { 069 this.kPrime = prime; 070 } 071 072 073}