001package org.biopax.paxtools.model.level3;
002
003import org.biopax.paxtools.util.AutoComplete;
004
005public interface BindingFeature extends EntityFeature
006{
007
008        /**
009         * A binding feature represents a "half" of the bond between two entities. This property points to
010         * another binding feature which represents the other half. The bond can be covalent or
011         * non-covalent.
012         *
013         * @return paired binding feature.
014         */
015        @AutoComplete(forward = false)
016        BindingFeature getBindsTo();
017
018        /**
019         * A binding feature represents a "half" of the bond between two entities. This property points to
020         * another binding feature which represents the other half. The bond can be covalent or
021         * non-covalent.
022         *
023         * @param bindsTo paired binding feature.
024         */
025        void setBindsTo(BindingFeature bindsTo);
026
027
028    /**
029     * IntraMolecular flag is true iff this binding feature represents a bond within the same molecule,  for example a
030     * disulfide bond within the same molecule.
031     * A true value true implies that this.isEntityFeatureOf() == this.getBindsTo.isEntityFeatureOf() although the
032     * inverse is not true e.g a chain of actin proteins.
033     * @return true iff this binding feature represents a bond within the same molecule.
034     */
035    Boolean getIntraMolecular();
036
037        /**
038         * IntraMolecular flag is true iff this binding feature represents a bond within the same molecule,  for example a
039         * disulfide bond within the same molecule.
040         * A true value implies that this.isEntityFeatureOf() == this.getBindsTo.isEntityFeatureOf() although the
041         * inverse is not true e.g a chain of actin proteins.
042         * @param intramolecular whether if this  binding feature represents a bond within the same molecule.
043         */
044        void setIntraMolecular(Boolean intramolecular);
045
046}