1 /******************************************************************************* 2 * Copyright (c) 2007, 2014 Massimiliano Ziccardi 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 *******************************************************************************/ 16 package it.jnrpe.net; 17 18 /** 19 * Enumeration of all the supported packet types. 20 * 21 * @author Massimiliano Ziccardi 22 */ 23 public enum PacketType { 24 /** 25 * Id code for a packet containing a query. 26 */ 27 QUERY(1), 28 /** 29 * Id code for a packet containing a response. 30 */ 31 RESPONSE(2), 32 /** 33 * Id code for an unknown packet type. 34 */ 35 UNKNOWN(99); 36 37 /** 38 * The enumeration int value. 39 */ 40 private final int intValue; 41 42 /** 43 * Builds an enumeration with the given int value. 44 * 45 * @param value 46 * The value 47 */ 48 PacketType(final int value) { 49 intValue = value; 50 } 51 52 /** 53 * Returns the int value of the enum. 54 * 55 * @return The int value 56 */ 57 public int intValue() { 58 return intValue; 59 } 60 61 /** 62 * Converts from the protocol int value representing the state to the 63 * enumeration constant. 64 * 65 * @param value 66 * The int value state 67 * @return The Enumeration 68 */ 69 public static PacketType fromIntValue(final int value) { 70 switch (value) { 71 case 1: 72 return QUERY; 73 case 2: 74 return RESPONSE; 75 default: 76 return UNKNOWN; 77 } 78 } 79 }