    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.exceptions;
    013
    014import com.digi.xbee.api.models.OperatingMode;
    015
    016/**
    017 * This exception will be thrown when performing any action with the XBee
    018 * device and its operating mode is different than {@link OperatingMode#API}
    019 * and {@link OperatingMode#API_ESCAPE}.
    020 *
    021 * @see XBeeDeviceException
    022 * @see com.digi.xbee.api.models.OperatingMode
    023 */
    024public class InvalidOperatingModeException extends XBeeDeviceException {
    025
    026        // Constants
    027        private static final long serialVersionUID = 1L;
    028        private static final String DEFAULT_MESSAGE = "The operating mode of the XBee device is not supported by the library.";
    029
    030        /**
    031         * Creates an {@code InvalidOperatingModeException} with
    032         * {@value #DEFAULT_MESSAGE} as its error detail message.
    033         */
    034        public InvalidOperatingModeException() {
    035                super(DEFAULT_MESSAGE);
    036        }
    037
    038        /**
    039         * Creates an {@code InvalidOperatingModeException} with the specified
    040         * operating mode.
    041         *
    042         * @param mode The unsupported operating mode.
    043         *
    044         * @see com.digi.xbee.api.models.OperatingMode
    045         */
    046        public InvalidOperatingModeException(OperatingMode mode) {
    047                super("Unsupported operating mode: " + mode);
    048        }
    049
    050        /**
    051         * Creates an {@code InvalidOperatingModeException} with the specified
    052         * message.
    053         *
    054         * @param message The associated message.
    055         */
    056        public InvalidOperatingModeException(String message) {
    057                super(message);
    058        }
    059
    060        /**
    061         * Creates an {@code InvalidOperatingModeException} with the specified
    062         * message and cause.
    063         *
    064         * @param message The associated message.
    065         * @param cause The cause of this exception.
    066         *
    067         * @see Throwable
    068         */
    069        public InvalidOperatingModeException(String message, Throwable cause) {
    070                super(message, cause);
    071        }
    072}