1package eu.siacs.conversations.xmpp.jingle.stanzas;
2
3import android.support.annotation.NonNull;
4
5import com.google.common.base.CaseFormat;
6
7public enum Reason {
8 ALTERNATIVE_SESSION,
9 BUSY,
10 CANCEL,
11 CONNECTIVITY_ERROR,
12 DECLINE,
13 EXPIRED,
14 FAILED_APPLICATION,
15 FAILED_TRANSPORT,
16 GENERAL_ERROR,
17 GONE,
18 INCOMPATIBLE_PARAMETERS,
19 MEDIA_ERROR,
20 SECURITY_ERROR,
21 SUCCESS,
22 TIMEOUT,
23 UNSUPPORTED_APPLICATIONS,
24 UNSUPPORTED_TRANSPORTS,
25 UNKNOWN;
26
27 public static Reason of(final String value) {
28 try {
29 return Reason.valueOf(CaseFormat.LOWER_HYPHEN.to(CaseFormat.UPPER_UNDERSCORE, value));
30 } catch (Exception e) {
31 return UNKNOWN;
32 }
33 }
34
35 @Override
36 @NonNull
37 public String toString() {
38 return CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_HYPHEN, super.toString());
39 }
40}