org.apache.mina.coap.CoapCode.java Source code

Java tutorial

Introduction

Here is the source code for org.apache.mina.coap.CoapCode.java

Source

/*
 *  Licensed to the Apache Software Foundation (ASF) under one
 *  or more contributor license agreements.  See the NOTICE file
 *  distributed with this work for additional information
 *  regarding copyright ownership.  The ASF licenses this file
 *  to you under the Apache License, Version 2.0 (the
 *  "License"); you may not use this file except in compliance
 *  with the License.  You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing,
 *  software distributed under the License is distributed on an
 *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 *  KIND, either express or implied.  See the License for the
 *  specific language governing permissions and limitations
 *  under the License.
 *
 */
package org.apache.mina.coap;

/**
 * Extract of the CoAP RFC :
 * 
 * <pre>
 *     |    1 | GET    | [RFCXXXX] |
 *     |    2 | POST   | [RFCXXXX] |
 *     |    3 | PUT    | [RFCXXXX] |
 *     |    4 | DELETE | [RFCXXXX] |
 * 
 *     |   65 | 2.01 Created                    | [RFCXXXX] |
 *     |   66 | 2.02 Deleted                    | [RFCXXXX] |
 *     |   67 | 2.03 Valid                      | [RFCXXXX] |
 *     |   68 | 2.04 Changed                    | [RFCXXXX] |
 *     |   69 | 2.05 Content                    | [RFCXXXX] |
 *     |  128 | 4.00 Bad Request                | [RFCXXXX] |
 *     |  129 | 4.01 Unauthorized               | [RFCXXXX] |
 *     |  130 | 4.02 Bad Option                 | [RFCXXXX] |
 *     |  131 | 4.03 Forbidden                  | [RFCXXXX] |
 *     |  132 | 4.04 Not Found                  | [RFCXXXX] |
 *     |  133 | 4.05 Method Not Allowed         | [RFCXXXX] |
 *     |  134 | 4.06 Not Acceptable             | [RFCXXXX] |
 *     |  140 | 4.12 Precondition Failed        | [RFCXXXX] |
 *     |  141 | 4.13 Request Entity Too Large   | [RFCXXXX] |
 *     |  143 | 4.15 Unsupported Content-Format | [RFCXXXX] |
 *     |  160 | 5.00 Internal Server Error      | [RFCXXXX] |
 *     |  161 | 5.01 Not Implemented            | [RFCXXXX] |
 *     |  162 | 5.02 Bad Gateway                | [RFCXXXX] |
 *     |  163 | 5.03 Service Unavailable        | [RFCXXXX] |
 *     |  164 | 5.04 Gateway Timeout            | [RFCXXXX] |
 *     |  165 | 5.05 Proxying Not Supported     | [RFCXXXX] |
 * </pre>
 * 
 * @author <a href="http://mina.apache.org">Apache MINA Project</a>
 */
public enum CoapCode {
    GET("GET", 1), POST("POST", 2), PUT("PUT", 3), DELETE("DELETE", 4), CREATED("2.01", 65), DELETED("2.02",
            66), VALID("2.03", 67), CHANGED("2.04", 68), CONTENT("2.05", 69), BAD_REQUEST("4.00",
                    128), UNAUTHORIZED("4.01", 129), BAD_OPTION("4.02", 130), FORBIDDEN("4.03",
                            131), NOT_FOUND("4.04", 132), METHOD_NOT_ALLOWED("4.05", 133), NOT_ACCEPTABLE("4.06",
                                    134), PRECONDITION_FAILED("4.12", 140), REQUEST_ENTITY_TOO_LARGE("4.13",
                                            141), UNSUPPORTED_CONTENT_FORMAT("4.15", 143), INTERNAL_SERVER_ERROR(
                                                    "5.00", 160), NOT_IMPLEMENTED("5.01", 161), BAD_GATEWAY("5.02",
                                                            162), SERVICE_UNAVAILABLE("5.03", 163), GATEWAY_TIMEOUT(
                                                                    "5.04",
                                                                    164), PROXYING_NOT_SUPPORTED("5.05", 165)

    ;

    private final String text;
    private final int code;

    private CoapCode(String text, int code) {
        this.text = text;
        this.code = code;
    }

    public String getText() {
        return text;
    }

    public int getCode() {
        return code;
    }

    /**
     * Find the {@link CoapCode} for the given value code (<code>null</code> if not found)
     */
    public static CoapCode fromCode(int code) {
        for (CoapCode t : CoapCode.values()) {
            if (t.getCode() == code) {
                return t;
            }
        }
        return null;
    }
}