001/**
002 * Copyright (C) 2010-2015 The Roslin Institute <contact andy.law@roslin.ed.ac.uk>
003 *
004 * This file is part of JEnsembl: a Java API to Ensembl data sources developed by the
005 * Bioinformatics Group at The Roslin Institute, The Royal (Dick) School of
006 * Veterinary Studies, University of Edinburgh.
007 *
008 * Project hosted at: http://jensembl.sourceforge.net
009 *
010 * This is free software: you can redistribute it and/or modify
011 * it under the terms of the GNU General Public License (version 3) as published by
012 * the Free Software Foundation.
013 *
014 * This software is distributed in the hope that it will be useful,
015 * but WITHOUT ANY WARRANTY; without even the implied warranty of
016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
017 * GNU General Public License for more details.
018 *
019 * You should have received a copy of the GNU General Public License
020 * in this software distribution. If not, see: http://opensource.org/licenses/gpl-3.0.html
021 */
022package uk.ac.roslin.ensembl.model.relationship;
023
024import uk.ac.roslin.ensembl.model.IdentifiableObject;
025
026public interface BinaryRelationship<CLAZZ extends IdentifiableObject>
027        extends GroupRelationship<CLAZZ> {
028
029     /**
030     * sets the  IdentifiableObject source in the relationship
031     * @param source an IdentifiableObject reference
032     */
033    public  void setSource(CLAZZ source);
034
035     /**
036     * Sets the IdentifiableObject target in the relationship
037     * @param target The target IdentifiableObject in the relationship
038     */
039    public  void setTarget(CLAZZ target);
040
041
042    /**
043     * Returns the source Attributable in the relationship
044     * @return IdentifiableObject reference
045     */
046    public  IdentifiableObject getSource() ;
047
048    /**
049     * Returns the target IdentifiableObject in the relationship
050     * @return IdentifiableObject target reference
051     */
052    public  IdentifiableObject getTarget();
053
054}