1 /*
2 * This file is a part of CAST project.
3 * (c) Copyright 2007, AGH University of Science & Technology
4 * https://caribou.iisg.agh.edu.pl/trac/cast
5 *
6 * Licensed under the Eclipse Public License, Version 1.0 (the "License").
7 * You may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 * http://www.eclipse.org/legal/epl-v10.html
10 */
11 /*
12 * File: IImporter.java
13 * Created: 2007-00-00
14 * Author: kpietak
15 * $Id: IImporter.java 3020 2009-07-17 14:41:19Z kpietak $
16 */
17
18 package pl.edu.agh.cast.backward.resources;
19
20 import java.io.File;
21 import java.io.IOException;
22
23 import pl.edu.agh.cast.model.visual.backward.IDiagram;
24 import pl.edu.agh.cast.model.visual.backward.IDiagramSettings;
25
26 /**
27 * Interface for project and diagram importers, which can load the project (a list of diagrams) or a single diagram even
28 * between different instances and versions of the system.
29 *
30 * @see IExporter
31 *
32 * @author AGH CAST Team
33 */
34 public interface IImporter {
35
36 /**
37 * Imports project (list of {@link IDiagram} objects) from specified file.
38 *
39 * @param file
40 * file the project is read from
41 * @return {@link IProjectContainer} - embedded project
42 * @throws
43 */
44 public IProjectContainer importProject(File file) throws IOException;
45
46 /**
47 * Imports diagram settings from specified file. Must not read the whole diagram from file for performance reasons.
48 *
49 * @param file
50 * file to read diagram settings from
51 * @return diagram settings read from the file
52 * @throws IOException
53 */
54 public IDiagramSettings importDiagramSettings(File file) throws IOException;
55
56 /**
57 * Imports a diagram from specified file.
58 *
59 * @param file
60 * file to read diagram from
61 * @return diagram read from the file
62 * @throws IOException
63 */
64 public IDiagram importDiagram(File file) throws IOException;
65
66 }