aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/thedevstack/conversationsplus/xmpp/stanzas/IqErrorCondition.java
blob: 688ea00760f9feaf754ad5902100248b24b8d277 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package de.thedevstack.conversationsplus.xmpp.stanzas;

/**
 */
public enum IqErrorCondition {
    BAD_REQUEST(IqErrorType.MODIFY),
    CONFLICT(IqErrorType.CANCEL),
    FEATURE_NOT_IMPLEMENTED(IqErrorType.CANCEL),
    FORBIDDEN(IqErrorType.AUTH),
    GONE(IqErrorType.MODIFY),
    INTERNAL_SERVER_ERROR(IqErrorType.WAIT),
    ITEM_NOT_FOUND(IqErrorType.CANCEL),
    JID_MALFORMED(IqErrorType.MODIFY),
    NOT_ACCEPTABLE(IqErrorType.MODIFY),
    NOT_ALLOWED(IqErrorType.CANCEL),
    NOT_AUTHORIZED(IqErrorType.AUTH),
    PAYMENT_REQUIRED(IqErrorType.AUTH),
    RECIPIENT_UNAVAILABLE(IqErrorType.WAIT),
    REDIRECT(IqErrorType.MODIFY),
    REGISTRATION_REQUIRED(IqErrorType.AUTH),
    REMOTE_SERVER_NOT_FOUND(IqErrorType.CANCEL),
    REMOTE_SERVER_TIMEOUT(IqErrorType.WAIT),
    RESOURCE_CONSTRAINT(IqErrorType.WAIT),
    SERVICE_UNAVAILABLE(IqErrorType.CANCEL),
    SUBSCRIPTION_REQUIRED(IqErrorType.AUTH),
    UNDEFINED_CONDITION(IqErrorType.CANCEL),
    UNEXPECTED_REQUEST(IqErrorType.WAIT)
    ;

    private IqErrorType type;

    IqErrorCondition(IqErrorType type) {
        this.type = type;
    }

    public IqErrorType getType() {
        return type;
    }

    public static IqErrorCondition fromString(String condition) {
        return (null != condition) ? Enum.valueOf(IqErrorCondition.class, condition.toUpperCase().replaceAll("-", "_")) : null;
    }

    @Override
    public String toString() {
        return super.toString().toLowerCase().replaceAll("_", "-");
    }
}