1 /*
2
3 dsh-piccolo-tilemap Piccolo2D tile map nodes and supporting classes.
4 Copyright (c) 2006-2013 held jointly by the individual authors.
5
6 This library is free software; you can redistribute it and/or modify it
7 under the terms of the GNU Lesser General Public License as published
8 by the Free Software Foundation; either version 3 of the License, or (at
9 your option) any later version.
10
11 This library is distributed in the hope that it will be useful, but WITHOUT
12 ANY WARRANTY; with out even the implied warranty of MERCHANTABILITY or
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
14 License for more details.
15
16 You should have received a copy of the GNU Lesser General Public License
17 along with this library; if not, write to the Free Software Foundation,
18 Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
19
20 > http://www.fsf.org/licensing/licenses/lgpl.html
21 > http://www.opensource.org/licenses/lgpl-license.php
22
23 */
24 package org.dishevelled.piccolo.tilemap.io;
25
26 import java.io.File;
27 import java.io.IOException;
28 import java.io.InputStream;
29
30 import java.net.URL;
31
32 import org.dishevelled.piccolo.tilemap.AbstractTileMap;
33
34 /**
35 * Reader for tile maps.
36 *
37 * @author Michael Heuer
38 * @version $Revision$ $Date$
39 */
40 public interface TileMapReader
41 {
42
43 /**
44 * Read a tile map from the specified file.
45 *
46 * @param file file to read from, must not be null
47 * @return a tile map read from the specified file
48 * @throws IOException if an IO error occurs
49 */
50 AbstractTileMap read(File file) throws IOException;
51
52 /**
53 * Read a tile map from the specified URL.
54 *
55 * @param url URL to read from, must not be null
56 * @return a tile map read from the specified URL
57 * @throws IOException if an IO error occurs
58 */
59 AbstractTileMap read(URL url) throws IOException;
60
61 /**
62 * Read a tile map from the specified input stream.
63 *
64 * @param inputStream input stream to read from, must not be null
65 * @return a tile map read from the specified input stream
66 * @throws IOException if an IO error occurs
67 */
68 AbstractTileMap read(InputStream inputStream) throws IOException;
69 }