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 import java.util.Iterator; 21 22 import org.molwind.view.TopologyManager; 23 24 /** 25 * MolwindWorld interface represents a molwind world description. 26 * 27 * @author <a href="mailto:oliver.karch@molwind.org">Oliver Karch</a> 28 * @version 1.0 29 */ 30 public interface MolwindWorld { 31 32 /** 33 * Returns the name of the world. 34 * 35 * @return 36 * the world's name 37 */ 38 String getName(); 39 40 /** 41 * Returns an iterator over the world's entities. 42 * 43 * @return 44 * an entity reader for this world 45 */ 46 Iterator getEntityIterator(); 47 48 /** 49 * Returns a strategy object to resolve relationships among entities. 50 * 51 * @return 52 * a resolver for entity reader for this world 53 */ 54 RelationshipResolver getRelationshipResolver(); 55 56 /** 57 * Returns a strategy object to determine visible entities and their 58 * positions. 59 * 60 * @return 61 * an instance of the topology manager 62 */ 63 TopologyManager getTopologyManager(); 64 65 /** 66 * Returns an instance of a tile generator. 67 * 68 * @return 69 * a tile generator which visualizes the entities of this world 70 */ 71 org.molwind.view.TileGenerator getTileGenerator(); 72 73 }