View Javadoc

1   package com.atlassian.plugin.impl;
2   
3   /**
4    * This class represents a Plugin that was not able to be loaded by the PluginManager.
5    *
6    * @see com.atlassian.plugin.manager.DefaultPluginManager
7    */
8   public class UnloadablePlugin extends StaticPlugin
9   {
10      private static final String UNKNOWN_KEY_PREFIX = "Unknown-";
11      private String errorText;
12      private boolean uninstallable = true;
13      private boolean deletable = true;
14      private boolean dynamic = false;
15      
16      public UnloadablePlugin()
17      {
18          this(null);
19      }
20  
21      /**
22       * @param text The error text
23       * @since 2.0.0
24       */
25      public UnloadablePlugin(final String text)
26      {
27          errorText = text;
28          setKey(UNKNOWN_KEY_PREFIX + System.identityHashCode(this));
29      }
30  
31      @Override
32      public boolean isUninstallable()
33      {
34          return uninstallable;
35      }
36  
37      public void setDeletable(final boolean deletable)
38      {
39          this.deletable = deletable;
40      }
41  
42      @Override
43      public boolean isDeleteable()
44      {
45          return deletable;
46      }
47  
48      public void setUninstallable(final boolean uninstallable)
49      {
50          this.uninstallable = uninstallable;
51      }
52  
53      @Override
54      public boolean isEnabledByDefault()
55      {
56          return false;
57      }
58  
59      public String getErrorText()
60      {
61          return errorText;
62      }
63  
64      public void setErrorText(final String errorText)
65      {
66          this.errorText = errorText;
67      }
68      
69      @Override
70      public boolean isDynamicallyLoaded()
71      {
72          return dynamic;
73      }
74      
75      public void setDynamicallyLoaded(boolean dynamic)
76      {
77          this.dynamic = dynamic;
78      }
79  
80      @Override
81      public void close()
82      {}
83  
84      @Override
85      protected void uninstallInternal()
86      {
87          if (!uninstallable)
88          {
89              // should throw exception
90              super.uninstallInternal();
91          }
92      }
93  
94      @Override
95      public String toString()
96      {
97          return super.toString() + " " + errorText;
98      }
99  }