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