001package org.biopax.paxtools.impl.level3; 002 003 004import org.biopax.paxtools.model.BioPAXElement; 005import org.biopax.paxtools.model.level3.ChemicalConstant; 006import org.hibernate.annotations.Cache; 007import org.hibernate.annotations.CacheConcurrencyStrategy; 008import org.hibernate.annotations.DynamicInsert; 009import org.hibernate.annotations.DynamicUpdate; 010import org.hibernate.annotations.Proxy; 011 012import javax.persistence.Entity; 013import javax.persistence.Transient; 014 015import static java.lang.Float.compare; 016 017@Entity 018@Proxy(proxyClass=ChemicalConstant.class) 019@DynamicUpdate @DynamicInsert 020@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) 021public abstract class ChemicalConstantImpl extends L3ElementImpl implements ChemicalConstant { 022 float ionicStrength; 023 float ph; 024 float pMg; 025 float temperature; 026 027 public ChemicalConstantImpl() { 028 this.ionicStrength = KPrimeImpl.UNKNOWN_FLOAT; 029 this.ph = KPrimeImpl.UNKNOWN_FLOAT; 030 this.pMg = KPrimeImpl.UNKNOWN_FLOAT; 031 this.temperature = KPrimeImpl.UNKNOWN_FLOAT; 032 } 033 034 public float getIonicStrength() { 035 return ionicStrength; 036 } 037 038 public void setIonicStrength(float ionicStrength) { 039 this.ionicStrength = ionicStrength; 040 } 041 042 public float getPh() { 043 return ph; 044 } 045 046 public void setPh(float ph) { 047 this.ph = ph; 048 } 049 050 public float getPMg() { 051 return pMg; 052 } 053 054 public void setPMg(float pMg) { 055 this.pMg = pMg; 056 } 057 058 public float getTemperature() { 059 return temperature; 060 } 061 062 public void setTemperature(float temperature) { 063 this.temperature = temperature; 064 } 065 066 @Transient 067 public Class<? extends ChemicalConstant> getModelInterface() { 068 return ChemicalConstant.class; 069 } 070 071 @Override 072 protected boolean semanticallyEquivalent(BioPAXElement element) { 073 if(!(element instanceof ChemicalConstant)) 074 return false; 075 076 final ChemicalConstant aKPrime = (ChemicalConstant) element; 077 return 078 compare(aKPrime.getIonicStrength(), getIonicStrength()) == 0 && 079 compare(aKPrime.getPh(), getPh()) == 0 && 080 compare(aKPrime.getPMg(), pMg) == 0 && 081 compare(aKPrime.getTemperature(), getTemperature()) == 0; 082 083 } 084 085 @Override 086 public int equivalenceCode() { 087 return super.equivalenceCode(); //To change body of overridden methods use File | Settings | File Templates. 088 } 089}