001package org.biopax.paxtools.impl.level3;
002
003import org.biopax.paxtools.model.BioPAXElement;
004import org.biopax.paxtools.model.level3.FragmentFeature;
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
015@Entity
016@Proxy(proxyClass= FragmentFeature.class)
017@Indexed
018@DynamicUpdate @DynamicInsert
019@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
020public class FragmentFeatureImpl extends EntityFeatureImpl implements FragmentFeature
021{
022        public FragmentFeatureImpl() {}
023        
024        @Override @Transient
025        public Class<? extends FragmentFeature> getModelInterface()
026        {
027                return FragmentFeature.class;
028        }
029
030        @Override
031        protected boolean semanticallyEquivalent(BioPAXElement element)
032        {
033                if(!(element instanceof FragmentFeature))
034                        return false;
035                else
036                        return super.atEquivalentLocation(((FragmentFeature) element));
037        }
038
039    @Override
040    public String toString()
041    {
042        return "Fragment:"+this.getFeatureLocation();
043    }
044}