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      DELETED(-1),
30  
31      ACTIVE(1),
32  
33      VIEWABLE(2),
34  
35      LOCKED(3);
36  
37  
38      private final Integer code;
39  
40      private Status(Integer code) {
41          this.code = code;
42      }
43  
44      public Integer getCode() {
45          return code;
46      }
47  
48      public Status fromCode(Integer code) {
49          return Status.valueOf(code);
50      }
51  
52      public static Status valueOf(Integer code) {
53          switch (code) {
54              case -1:
55                  return DELETED;
56              case 1:
57                  return ACTIVE;
58              case 2:
59                  return VIEWABLE;
60              case 3:
61                  return LOCKED;
62              default:
63                  throw new IllegalArgumentException(
64                          "Unknown enum code : " + code);
65          }
66      }
67  
68  }