View Javadoc

1   /**
2    * - Digitalis Internal Framework v2.0 - (C) 2007, Digitalis Informatica. Distribuicao e Gestao de Informatica, Lda.
3    * Estrada de Paco de Arcos num.9 - Piso -1 2780-666 Paco de Arcos Telefone: (351) 21 4408990 Fax: (351) 21 4408999
4    * http://www.digitalis.pt
5    */
6   package pt.digitalis.dif.codegen.templates;
7   
8   import java.util.Map;
9   
10  import pt.digitalis.dif.codegen.CGAncillaries;
11  import pt.digitalis.dif.dem.interfaces.IApplication;
12  import pt.digitalis.dif.dem.interfaces.IApplicationPrivate;
13  import pt.digitalis.dif.dem.interfaces.IProvider;
14  import pt.digitalis.dif.dem.interfaces.IService;
15  import pt.digitalis.dif.dem.objects.LicenseEditionType;
16  import pt.digitalis.dif.exception.manager.RegistrationManagerException;
17  import pt.digitalis.dif.startup.DIFGeneralConfigurationParameters;
18  import pt.digitalis.dif.utils.logging.DIFLogger;
19  
20  /**
21   * This class is a template for the IApplication interface method implementations. The CodeGen will copy these methods
22   * to the class implementing the interface IApplication. Some methods will be copied "as is", other will be tweaked.
23   * 
24   * @author Rodrigo Gonçalves <a href="mailto:rgoncalves@digitalis.pt">rgoncalves@digitalis.pt</a>
25   * @created 2007/06/01
26   */
27  public class ApplicationCGTemplate implements IApplication, IApplicationPrivate {
28  
29      /**
30       * @see pt.digitalis.dif.dem.interfaces.IApplicationPrivate#__CG__initialize()
31       */
32      public void __CG__initialize()
33      {
34          // To be overrided with a call to the provided init method in the application with @Init
35      }
36  
37      /**
38       * @see pt.digitalis.dif.dem.interfaces.IRegistrable#getLicenseEdition()
39       */
40      public LicenseEditionType getLicenseEdition()
41      {
42  
43          return TemplateResources.getRegistrationManager().getApplicationEdition(this.getID());
44      }
45  
46      /**
47       * @see pt.digitalis.dif.dem.interfaces.IEntity#getID()
48       */
49      public String getID()
50      {
51          return CGAncillaries.CG_TO_BE_IMPLEMENTED_MESSAGE;
52      }
53  
54      /**
55       * @see pt.digitalis.dif.dem.interfaces.IMessage#getMessage(java.lang.String)
56       */
57      public String getMessage(String messageID)
58      {
59          return getMessages().get(messageID);
60      }
61  
62      /**
63       * @see pt.digitalis.dif.dem.interfaces.IMessage#getMessages()
64       */
65      public Map<String, String> getMessages()
66      {
67          return TemplateResources.getMessageManager().getMessages(this,
68                  DIFGeneralConfigurationParameters.getInstance().getDefaultLanguage());
69      }
70  
71      /**
72       * @see pt.digitalis.dif.dem.interfaces.IEntity#getName()
73       */
74      public String getName()
75      {
76          return CGAncillaries.CG_TO_BE_IMPLEMENTED_MESSAGE;
77      }
78  
79      /**
80       * @see pt.digitalis.dif.dem.interfaces.IEntity#getOriginalClassName()
81       */
82      public String getOriginalClassName()
83      {
84          return CGAncillaries.CG_TO_BE_IMPLEMENTED_MESSAGE;
85      }
86  
87      /**
88       * @see pt.digitalis.dif.dem.interfaces.IApplication#getProvider()
89       */
90      public IProvider getProvider()
91      {
92          return TemplateResources.getDEMManager().getProvider(CGAncillaries.CG_TO_BE_IMPLEMENTED_MESSAGE);
93      }
94  
95      /**
96       * @see pt.digitalis.dif.dem.interfaces.IApplication#getServices()
97       */
98      public Map<String, IService> getServices()
99      {
100         return TemplateResources.getDEMManager().getServices(this);
101     }
102 
103     /**
104      * @return an instance of template resources
105      */
106     protected TemplateResources getTemplateResources()
107     {
108         return TemplateResources.getInstance();
109     }
110 
111     /**
112      * @see pt.digitalis.dif.dem.interfaces.IEntity#getUID()
113      */
114     public String getUID()
115     {
116         return "APPLICATION:" + this.getID();
117     }
118 
119     /**
120      * @see pt.digitalis.dif.dem.interfaces.IRegistrable#isRegistered()
121      */
122     public boolean isRegistered()
123     {
124 
125         boolean result = this.getProvider().isRegistered();
126 
127         if (this.isRegistrable())
128             result = TemplateResources.getRegistrationManager().isApplicationRegistered(this.getID());
129 
130         return result;
131     }
132 
133     /**
134      * @see pt.digitalis.dif.dem.interfaces.IRegistrable#isRegistrable()
135      */
136     public boolean isRegistrable()
137     {
138         return TemplateResources.getRegistrationManager().isApplicationRegistrable(this.getID());
139     }
140 
141     /**
142      * @see pt.digitalis.dif.dem.interfaces.IRegistrable#register(java.lang.String, java.lang.String)
143      */
144     public boolean register(String name, String key)
145     {
146         try
147         {
148             return TemplateResources.getRegistrationManager().registerApplication(getID(), name, key);
149         }
150         catch (RegistrationManagerException e)
151         {
152             DIFLogger.getLogger().debug(e);
153             return false;
154         }
155     }
156 
157     /**
158      * @see pt.digitalis.dif.dem.interfaces.IRegistrable#unregister()
159      */
160     public void unregister()
161     {
162         TemplateResources.getRegistrationManager().unregisterApplication(getID());
163     }
164 }