001package org.biopax.paxtools.model.level3;
002
003import java.util.Set;
004
005/**
006 * Tagger interface for non-complex physical entities
007 */
008public interface SimplePhysicalEntity extends PhysicalEntity
009{
010
011    /**
012     * Reference entity for this physical entity.
013     * @return entity reference; i.e., that of a stateless canonical identifiable entity
014     */
015    EntityReference getEntityReference();
016
017    /**
018     * Reference entity for this physical entity.
019     * @param entityReference a BioPAX EntityReference object (usually a more specific subclass of)
020     */
021    void setEntityReference(EntityReference entityReference);
022
023        /**
024         * This method returns:
025         * <ul>
026         *  <li>The entity reference of this PhysicalEntity plus</li>
027         *  <li>If this PhysicalEntity has member PhysicalEntities their generic EntityReferences iteratively plus</li>
028         *  <li>If the EntityReference of this PhysicalEntity has member EntityReferences their members iteratively</li>
029         * </ul>
030     * @return this and members' entity references (see above)
031        */
032        Set<EntityReference> getGenericEntityReferences();
033
034}