1 package org.molwind.model; 2 3 /* 4 * This file is part of Molwind. 5 * 6 * Molwind is free software: you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation, either version 3 of the License, or 9 * (at your option) any later version. 10 * 11 * Molwind is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with Molwind. If not, see <http://www.gnu.org/licenses/>. 18 */ 19 20 /** 21 * Relationship interface defines bidirectional relationships between entities. 22 * 23 * @author <a href="mailto:oliver.karch@molwind.org">Oliver Karch</a> 24 * @version 1.0 25 */ 26 public interface Relationship { 27 28 /** 29 * Gets the left entity. 30 * 31 * @return 32 * the left entity 33 */ 34 WorldEntity getLeft(); 35 36 /** 37 * Gets the right entity. 38 * 39 * @return 40 * the right entity 41 */ 42 WorldEntity getRight(); 43 44 /** 45 * Returns whether this relationship supports transitivity. 46 * 47 * @return 48 * true if relationship type is transitive, otherwise false 49 */ 50 boolean isTransitive(); 51 52 }