Converted all CRLF to LF.
[indepmod/experimental.git] / IndependentModeler / src / cz / cvut / promod / services / notationService / NotationService.java
bloba837fc77a6886be4b23a77a82ab76d2242e89a6e
1 package cz.cvut.promod.services.notationService;
3 import cz.cvut.promod.services.Service;
4 import cz.cvut.promod.services.pluginLoaderService.utils.NotationSpecificPlugins;
5 import cz.cvut.promod.services.pluginLoaderService.utils.PluginLoadErrors;
6 import cz.cvut.promod.plugin.notationSpecificPlugIn.notation.Notation;
7 import cz.cvut.promod.plugin.notationSpecificPlugIn.notation.model.DiagramModel;
9 import java.util.List;
11 /**
12 * ProMod, master thesis project
13 * User: Petr Zverina, petr.zverina@gmail.com
14 * Date: 17:47:34, 10.10.2009
17 /**
18 * Notation Service is a access point to all loaded notations and their related modules.
20 public interface NotationService extends Service{
22 /**
23 * Returns a list of all notations.
25 * @return list of all notations
27 public List<Notation> getNotations();
29 /**
30 * Returns a list of all notation's identifiers.
32 * @return a list of all notation's identifiers
34 public List<String> getNotationsIdentifiers();
36 /**
37 * Returns a notation having the identifier specified.
39 * @param notationIdentifier is the plugin identifier of required notation
41 * @return a notation having the identifier specified or null if there is no such a notation
43 public Notation getNotation(final String notationIdentifier);
45 /**
46 * Returns an instance of NotationSpecificPlugins class containing the notation that is specified by the
47 * identifier and all modules related to this notation.
49 * @param notationIdentifier is the identifier of the notation
51 * @return an object holding the notation and all it's modules
53 public NotationSpecificPlugins getNotationSpecificPlugins(final String notationIdentifier);
55 /**
56 * Creates an empty notation specific diagram model. This model holds diagram specific information (graphical and
57 * other information).
59 * @param notationIdentifier is the notation identifier that is supposed to create the empty diagram model
61 * @return an empty diagram model of a required notation, null if there is not such a notation
63 public DiagramModel createEmptyNotationModel(final String notationIdentifier);
65 /**
66 * Checks whether there exists such a notation.
68 * @param notationIdentifier is the identifier of notation
70 * @return true if there is such a notation, false otherwise
72 public boolean existNotation(final String notationIdentifier);
74 /**
75 * Returns the file extension of diagrams of a specified notation.
77 * @param notationIdentifier is the identifier of notation
79 * @return the diagram's file extension of a specified notation, null there is no such a notation
81 public String getNotationFileExtension(final String notationIdentifier);
83 /**
84 * Returns identifier of a notation on the basis of this notation's file extension.
86 * @param notationFileExtension is the file extension
88 * @return notation identifier related to the file extension, null if there is no such a notation
90 public String getNotationIdentifier(final String notationFileExtension);
92 /**
93 * Returns the error information that have occurred during loading.
95 * @return list holding error information
97 public List<PluginLoadErrors> getErrors();