View Javadoc

1   package com.atlassian.plugin.web.descriptors;
2   
3   import com.atlassian.plugin.web.WebInterfaceManager;
4   import com.atlassian.plugin.web.Condition;
5   import com.atlassian.plugin.web.ContextProvider;
6   import com.atlassian.plugin.web.model.WebLabel;
7   import com.atlassian.plugin.web.model.WebParam;
8   import com.atlassian.plugin.Plugin;
9   import com.atlassian.plugin.PluginParseException;
10  import com.atlassian.plugin.StateAware;
11  import com.atlassian.plugin.elements.ResourceLocation;
12  import com.atlassian.plugin.elements.ResourceDescriptor;
13  import org.dom4j.Element;
14  
15  import java.util.Map;
16  import java.util.List;
17  
18  /**
19   * Wrapper for {@link WebFragmentModuleDescriptor}, so that it could be extended by application specific
20   * wrappers to provide additional methods.
21   */
22  public class DefaultAbstractWebFragmentModuleDescriptor implements StateAware, WebFragmentModuleDescriptor
23  {
24      private WebFragmentModuleDescriptor decoratedDescriptor;
25  
26      public DefaultAbstractWebFragmentModuleDescriptor(WebFragmentModuleDescriptor abstractDescriptor)
27      {
28          this.decoratedDescriptor = abstractDescriptor;
29      }
30  
31      public void enabled()
32      {
33          decoratedDescriptor.enabled();
34      }
35  
36      public void disabled()
37      {
38          decoratedDescriptor.disabled();
39      }
40  
41      protected WebFragmentModuleDescriptor getDecoratedDescriptor() 
42      {
43          return decoratedDescriptor;
44      }
45  
46      public int getWeight()
47      {
48          return decoratedDescriptor.getWeight();
49      }
50  
51      public String getKey()
52      {
53          return decoratedDescriptor.getKey();
54      }
55  
56      public Object getModule()
57      {
58          return decoratedDescriptor.getModule();
59      }
60  
61      public String getI18nNameKey()
62      {
63          return decoratedDescriptor.getI18nNameKey();
64      }
65  
66      public String getDescriptionKey()
67      {
68          return decoratedDescriptor.getDescriptionKey();
69      }
70  
71      public Plugin getPlugin()
72      {
73          return decoratedDescriptor.getPlugin();
74      }
75  
76      public WebLabel getWebLabel()
77      {
78          return decoratedDescriptor.getWebLabel();
79      }
80  
81      public WebLabel getTooltip()
82      {
83          return decoratedDescriptor.getTooltip();
84      }
85  
86      public void setWebInterfaceManager(WebInterfaceManager webInterfaceManager)
87      {
88          // bit of a hack but it works :)
89          if (decoratedDescriptor instanceof AbstractWebFragmentModuleDescriptor) {
90              AbstractWebFragmentModuleDescriptor abstractWebFragmentModuleDescriptor = (AbstractWebFragmentModuleDescriptor) decoratedDescriptor;
91              abstractWebFragmentModuleDescriptor.setWebInterfaceManager(webInterfaceManager);
92          }
93      }
94  
95      public Condition getCondition()
96      {
97          return decoratedDescriptor.getCondition();
98      }
99  
100     public ContextProvider getContextProvider()
101     {
102         return decoratedDescriptor.getContextProvider();
103     }
104 
105     public WebParam getWebParams()
106     {
107         return decoratedDescriptor.getWebParams();
108     }
109 
110     //----------------------------------------------------------------------------------------- ModuleDescriptor methods
111     public String getCompleteKey()
112     {
113         return decoratedDescriptor.getCompleteKey();
114     }
115 
116     public String getPluginKey()
117     {
118         return decoratedDescriptor.getPluginKey();
119     }
120 
121     public String getName()
122     {
123         return decoratedDescriptor.getName();
124     }
125 
126     public String getDescription()
127     {
128         return decoratedDescriptor.getDescription();
129     }
130 
131     public Class getModuleClass()
132     {
133         return decoratedDescriptor.getModuleClass();
134     }
135 
136     public void init(Plugin plugin, Element element) throws PluginParseException
137     {
138         decoratedDescriptor.init(plugin, element);
139     }
140 
141     public boolean isEnabledByDefault()
142     {
143         return decoratedDescriptor.isEnabledByDefault();
144     }
145 
146     public boolean isSystemModule()
147     {
148         return decoratedDescriptor.isSystemModule();
149     }
150 
151     public void destroy(Plugin plugin)
152     {
153         decoratedDescriptor.destroy(plugin);
154     }
155 
156     public Float getMinJavaVersion()
157     {
158         return decoratedDescriptor.getMinJavaVersion();
159     }
160 
161     public boolean satisfiesMinJavaVersion()
162     {
163         return decoratedDescriptor.satisfiesMinJavaVersion();
164     }
165 
166     public Map getParams()
167     {
168         return decoratedDescriptor.getParams();
169     }
170 
171     //------------------------------------------------------------------------------------------------ Resourced methods
172     public List getResourceDescriptors()
173     {
174         return decoratedDescriptor.getResourceDescriptors();
175     }
176 
177     public List getResourceDescriptors(String type)
178     {
179         return decoratedDescriptor.getResourceDescriptors(type);
180     }
181 
182     public ResourceLocation getResourceLocation(String type, String name)
183     {
184         return decoratedDescriptor.getResourceLocation(type, name);
185     }
186 
187     public ResourceDescriptor getResourceDescriptor(String type, String name)
188     {
189         return decoratedDescriptor.getResourceDescriptor(type, name);
190     }
191 }