View Javadoc

1   package org.andromda.cartridges.interfaces;
2   
3   import java.net.URL;
4   import java.util.List;
5   import java.util.Map;
6   
7   /***
8    * Describes the capabilities of an AndroMDA cartridge.
9    * 
10   * @author  <a href="http://www.mbohlen.de">Matthias Bohlen</a>
11   * 
12   */
13  public interface ICartridgeDescriptor {
14      
15      /***
16       * Returns the name of this cartridge.
17       * @return String the name
18       */
19      public String getCartridgeName();
20  
21      /***
22       * Returns the stereotypes which are supported by this cartridge.
23       * @return List the stereotypes
24       */
25      public List getSupportedStereotypes();
26  
27      /***
28       * Returns the property values which are set for this cartridge. Example:
29       * @andromda.persistence="ejb".
30       * 
31       * @return List the properties
32       */
33      public Map getProperties();
34      
35      /*
36       * Gets the list of defined outlets. An outlet is a short alias name for a
37       * path where output files will be written. A later step associates this
38       * name with a concrete physical directory name.
39  
40       * @return List the outlets
41       */
42      public List getOutlets();
43      
44      /***
45       * Returns the list of templates configured in this cartridge.
46       * 
47       * @return List the template lists
48       */
49      public List getTemplateConfigurations();
50      
51      /***
52       * Gets the URL where this descriptor data came from.
53       * 
54       * @return URL
55       */
56      public URL getDefinitionURL();
57  
58      /***
59       * Sets the URL where this descriptor data came from.
60       * 
61       * @param url
62       */
63      public void setDefinitionURL(URL url);
64      
65      /***
66       * Returns the cartridge class name. This is used by cartridges that have an
67       * own main class (other than DefaultAndroMDACartridge).
68       * 
69       * @return String
70       */
71      public String getCartridgeClassName();
72  }