View Javadoc

1   package com.atlassian.plugin.web.model;
2   
3   import com.atlassian.plugin.web.ContextProvider;
4   import com.atlassian.plugin.web.WebFragmentHelper;
5   import com.atlassian.plugin.web.descriptors.WebFragmentModuleDescriptor;
6   
7   import java.util.*;
8   
9   /**
10   * Represents web items that can be rendered using velocity, and inject its
11   * own context using the {@link ContextProvider}
12   */
13  public abstract class AbstractWebItem
14  {
15      private WebFragmentHelper webFragmentHelper;
16      private ContextProvider contextProvider;
17      private final WebFragmentModuleDescriptor descriptor;
18  
19      protected AbstractWebItem(WebFragmentHelper webFragmentHelper, ContextProvider contextProvider, WebFragmentModuleDescriptor descriptor)
20      {
21          this.webFragmentHelper = webFragmentHelper;
22          this.contextProvider = contextProvider;
23          this.descriptor = descriptor;
24      }
25  
26      public Map getContextMap(Map context)
27      {
28          if (contextProvider != null)
29          {
30              return contextProvider.getContextMap(context);
31          }
32          return Collections.EMPTY_MAP;
33      }
34  
35      public WebFragmentHelper getWebFragmentHelper()
36      {
37          return webFragmentHelper;
38      }
39  
40      public WebFragmentModuleDescriptor getDescriptor()
41      {
42          return descriptor;
43      }
44  }