/* * 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; } }