View Javadoc

1   package com.atlassian.plugins.rest.module;
2   
3   import com.atlassian.plugin.Plugin;
4   
5   public class InvalidVersionException extends RuntimeException
6   {
7       private final String invalidVersion;
8       private final Plugin plugin;
9       private final RestModuleDescriptor moduleDescriptor;
10  
11      InvalidVersionException(String invalidVersion)
12      {
13          this(null, null, invalidVersion);
14      }
15  
16      InvalidVersionException(Plugin plugin, RestModuleDescriptor moduleDescriptor, InvalidVersionException e)
17      {
18          this(plugin, moduleDescriptor, e.getInvalidVersion());
19      }
20  
21      private InvalidVersionException(Plugin plugin, RestModuleDescriptor moduleDescriptor, String invalidVersion)
22      {
23          this.plugin = plugin;
24          this.moduleDescriptor = moduleDescriptor;
25          this.invalidVersion = invalidVersion;
26      }
27  
28      public String getInvalidVersion()
29      {
30          return invalidVersion;
31      }
32  
33      @Override
34      public String getMessage()
35      {
36          if (invalidVersion == null)
37          {
38              return "The REST module descriptor '" + moduleDescriptor + "'defined by plugin '" + plugin + "' doesn't specify a version, this is a required attribute. "
39                      + "Please sepcify a version in the format 'major[.minor][.micro][.classifier]'";
40          }
41          else
42          {
43              return "The version (" + invalidVersion + ")set on the REST module descriptor '" + moduleDescriptor + "' of plugin '" + plugin + "' is not valid. " +
44                      "It must follow the following pattern 'major[.minor][.micro][.classifier]'";
45          }
46      }
47  }