001/** 002 * Copyright (c) 2014 Digi International Inc., 003 * All rights not expressly granted are reserved. 004 * 005 * This Source Code Form is subject to the terms of the Mozilla Public 006 * License, v. 2.0. If a copy of the MPL was not distributed with this file, 007 * You can obtain one at http://mozilla.org/MPL/2.0/. 008 * 009 * Digi International Inc. 11001 Bren Road East, Minnetonka, MN 55343 010 * ======================================================================= 011 */ 012package com.digi.xbee.api.models; 013 014/** 015 * Enumerates the different working modes of the XBee device. The operating 016 * mode establishes the way a user communicates with an XBee device through 017 * its serial interface. 018 */ 019public enum OperatingMode { 020 021 // Enumeration types 022 AT(0, "AT mode"), 023 API(1, "API mode"), 024 API_ESCAPE(2, "API mode with escaped characters"), 025 UNKNOWN(3, "Unknown"); 026 027 // Variables 028 private final int id; 029 030 private final String name; 031 032 /** 033 * Class constructor. Instantiates a new {@code OperatingMode} enumeration 034 * entry with the given parameters. 035 * 036 * @param id Operating mode ID. 037 * @param name Operating mode name. 038 */ 039 private OperatingMode(int id, String name) { 040 this.id = id; 041 this.name = name; 042 } 043 044 /** 045 * Returns the operating mode ID. 046 * 047 * @return Operating mode ID. 048 */ 049 public int getID() { 050 return id; 051 } 052 053 /** 054 * Returns the operating mode name. 055 * 056 * @return Operating mode name. 057 */ 058 public String getName() { 059 return name; 060 } 061 062 /* 063 * (non-Javadoc) 064 * @see java.lang.Enum#toString() 065 */ 066 @Override 067 public String toString() { 068 return name; 069 } 070}