View Javadoc

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