View Javadoc

1   /*
2    * This software was designed and created by Jason Carroll.
3    * Copyright (c) 2002, 2003, 2004 Jason Carroll.
4    * The author can be reached at jcarroll@cowsultants.com
5    * ITracker website: http://www.cowsultants.com
6    * ITracker forums: http://www.cowsultants.com/phpBB/index.php
7    *
8    * This program is free software; you can redistribute it and/or modify
9    * it only under the terms of the GNU General Public License as published by
10   * the Free Software Foundation; either version 2 of the License, or
11   * (at your option) any later version.
12   *
13   * This program is distributed in the hope that it will be useful,
14   * but WITHOUT ANY WARRANTY; without even the implied warranty of
15   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16   * GNU General Public License for more details.
17   */
18  
19  package org.itracker.model;
20  
21  /**
22   * Enumeration of Project, Component or Version statuses. 
23   * 
24   * @author johnny
25   */
26  public enum Status implements IntCodeEnum<Status> {
27      
28  	
29  	
30      DELETED(-1), 
31      
32      ACTIVE(1), 
33      
34      VIEWABLE(2), 
35      
36      LOCKED(3);
37      
38      
39      private final int code;
40      
41      private Status(int code) {
42          this.code = code;
43      }
44  
45      public int getCode() {
46          return code;
47      }
48      
49      public Status fromCode(int code) {
50          return Status.valueOf(code);
51      }
52      
53      public static Status valueOf(int code) {
54          switch (code) {
55              case -1: return DELETED;
56              case 1 : return ACTIVE;
57              case 2 : return VIEWABLE;
58              case 3 : return LOCKED;
59              default : 
60                  throw new IllegalArgumentException(
61                          "Unknown enum code : " + code);
62          }
63      }
64      
65  }