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
;
12 * ProMod, master thesis project
13 * User: Petr Zverina, petr.zverina@gmail.com
14 * Date: 17:47:34, 10.10.2009
18 * Notation Service is a access point to all loaded notations and their related modules.
20 public interface NotationService
extends Service
{
23 * Returns a list of all notations.
25 * @return list of all notations
27 public List
<Notation
> getNotations();
30 * Returns a list of all notation's identifiers.
32 * @return a list of all notation's identifiers
34 public List
<String
> getNotationsIdentifiers();
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
);
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
);
56 * Creates an empty notation specific diagram model. This model holds diagram specific information (graphical and
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
);
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
);
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
);
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
);
93 * Returns the error information that have occurred during loading.
95 * @return list holding error information
97 public List
<PluginLoadErrors
> getErrors();