OSDN Git Service

CommentTypeを別ファイルに切り出し
[coroid/inqubus.git] / frontend / src / saccubus / conv / CommentType.java
1 package saccubus.conv;
2
3 /**
4  * 処理するコメントの種別.
5  */
6 public enum CommentType {
7
8     /** 通常のコメント. */
9     NORMAL(false, false),
10     /** 投稿者コメント. */
11     OWNER(true, false),
12     /** オプショナルスレッドコメント. */
13     OPTIONAL(false, true),
14     /** オプショナルスレッド投稿者コメント. */
15     OPTIONAL_OWNER(true, true);
16     private final boolean owner;
17     private final boolean optional;
18
19     private CommentType(boolean owner, boolean optional) {
20         this.owner = owner;
21         this.optional = optional;
22     }
23
24     static CommentType valueOf(boolean owner, boolean optional) {
25         if (!optional) {
26             if (!owner) {
27                 return NORMAL;
28             } else {
29                 return OWNER;
30             }
31         } else {
32             if (!owner) {
33                 return OPTIONAL;
34             } else {
35                 return OPTIONAL_OWNER;
36             }
37         }
38     }
39
40     boolean isOwner() {
41         return owner;
42     }
43
44     boolean isOptional() {
45         return optional;
46     }
47 }