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 }