Reason.java

 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}