001package org.biopax.paxtools.impl.level3; 002 003import org.biopax.paxtools.model.BioPAXElement; 004import org.biopax.paxtools.model.level3.DeltaG; 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@Entity 018@Proxy(proxyClass = DeltaG.class) 019@Indexed 020@DynamicUpdate @DynamicInsert 021@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) 022public class DeltaGImpl extends ChemicalConstantImpl implements DeltaG { 023 024 private float deltaGPrime0 = UNKNOWN_FLOAT; 025 026 027 public DeltaGImpl() { 028 } 029 030 // 031 // BioPAXElement interface implementation 032 // 033 //////////////////////////////////////////////////////////////////////////// 034 @Transient 035 public Class<? extends DeltaG> getModelInterface() { 036 return DeltaG.class; 037 } 038 039 040 protected boolean semanticallyEquivalent(BioPAXElement element) { 041 return super.semanticallyEquivalent(element) && (compare(((DeltaG) element).getDeltaGPrime0(), deltaGPrime0) == 0); 042 } 043 044 045 public int equivalenceCode() { 046 return super.equivalenceCode()+ 047 29 + deltaGPrime0 != +0.0f ? 048 Float.floatToIntBits(deltaGPrime0) : 0; 049 } 050 051 public float getDeltaGPrime0() { 052 return deltaGPrime0; 053 } 054 055 public void setDeltaGPrime0(float deltaGPrime0) { 056 this.deltaGPrime0 = deltaGPrime0; 057 } 058 059}