/* * Copyright 2011-16 Fraunhofer ISE * * This file is part of OpenMUC. * For more information visit http://www.openmuc.org * * OpenMUC is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * OpenMUC is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with OpenMUC. If not, see <http://www.gnu.org/licenses/>. * */ package org.openmuc.framework.data; public enum Flag { VALID(1), TIMEOUT(2), UNKNOWN_ERROR(3), DEVICE_OR_INTERFACE_BUSY(5), ACCESS_METHOD_NOT_SUPPORTED(6), NO_VALUE_RECEIVED_YET(7), CONNECTING(8), WAITING_FOR_CONNECTION_RETRY(9), DISCONNECTING(10), DRIVER_UNAVAILABLE(11), SAMPLING_AND_LISTENING_DISABLED(12), DISABLED(13), CHANNEL_DELETED(14), STARTED_LATE_AND_TIMED_OUT(15), DRIVER_THREW_UNKNOWN_EXCEPTION(16), COMM_DEVICE_NOT_CONNECTED(17), DRIVER_ERROR_CHANNEL_ADDRESS_SYNTAX_INVALID(18), DRIVER_ERROR_CHANNEL_WITH_THIS_ADDRESS_NOT_FOUND(19), DRIVER_ERROR_CHANNEL_NOT_ACCESSIBLE(20), DRIVER_ERROR_CHANNEL_TEMPORARILY_NOT_ACCESSIBLE(21), DRIVER_ERROR_CHANNEL_VALUE_TYPE_CONVERSION_EXCEPTION(22), INFEASIBLE_TO_SAMPLE_CHANNEL_GROUP_IN_ONE_REQUEST(23), DRIVER_ERROR_SAMPLING_GROUP_NOT_FOUND(24), DRIVER_ERROR_SAMPLING_GROUP_NOT_ACCESSIBLE(25), DRIVER_ERROR_CHANNEL_NOT_PART_OF_SAMPLING_GROUP(26), CANNOT_WRITE_NULL_VALUE(27), DRIVER_ERROR_READ_FAILURE(28), CONNECTION_EXCEPTION(29), DRIVER_ERROR_TIMEOUT(30), DRIVER_ERROR_DECODING_RESPONSE_FAILED(31), DATA_LOGGING_NOT_ACTIVE(32), DRIVER_ERROR_UNSPECIFIED(33), VALUE_IS_NAN(34), VALUE_IS_INFINITY(35), CUSTOM_ERROR_0(50), CUSTOM_ERROR_1(51), CUSTOM_ERROR_2(52), CUSTOM_ERROR_3(53), CUSTOM_ERROR_4(54), CUSTOM_ERROR_5(55), CUSTOM_ERROR_6(56), CUSTOM_ERROR_7(57), CUSTOM_ERROR_8(58), CUSTOM_ERROR_9(59); private final int code; private Flag(int code) { this.code = code; } public byte getCode() { return (byte) code; } public static Flag newFlag(int code) { switch (code) { case 1: return Flag.VALID; case 2: return Flag.TIMEOUT; case 3: return Flag.UNKNOWN_ERROR; case 5: return Flag.DEVICE_OR_INTERFACE_BUSY; case 6: return Flag.ACCESS_METHOD_NOT_SUPPORTED; case 7: return Flag.NO_VALUE_RECEIVED_YET; case 8: return Flag.CONNECTING; case 9: return Flag.WAITING_FOR_CONNECTION_RETRY; case 10: return Flag.DISCONNECTING; case 11: return Flag.DRIVER_UNAVAILABLE; case 12: return Flag.SAMPLING_AND_LISTENING_DISABLED; case 13: return Flag.DISABLED; case 14: return Flag.CHANNEL_DELETED; case 15: return Flag.STARTED_LATE_AND_TIMED_OUT; case 16: return Flag.DRIVER_THREW_UNKNOWN_EXCEPTION; case 17: return Flag.COMM_DEVICE_NOT_CONNECTED; case 18: return Flag.DRIVER_ERROR_CHANNEL_ADDRESS_SYNTAX_INVALID; case 19: return Flag.DRIVER_ERROR_CHANNEL_WITH_THIS_ADDRESS_NOT_FOUND; case 20: return Flag.DRIVER_ERROR_CHANNEL_NOT_ACCESSIBLE; case 21: return Flag.DRIVER_ERROR_CHANNEL_TEMPORARILY_NOT_ACCESSIBLE; case 22: return Flag.DRIVER_ERROR_CHANNEL_VALUE_TYPE_CONVERSION_EXCEPTION; case 23: return Flag.INFEASIBLE_TO_SAMPLE_CHANNEL_GROUP_IN_ONE_REQUEST; case 24: return Flag.DRIVER_ERROR_SAMPLING_GROUP_NOT_FOUND; case 25: return Flag.DRIVER_ERROR_SAMPLING_GROUP_NOT_ACCESSIBLE; case 26: return Flag.DRIVER_ERROR_CHANNEL_NOT_PART_OF_SAMPLING_GROUP; case 27: return Flag.CANNOT_WRITE_NULL_VALUE; case 28: return Flag.DRIVER_ERROR_READ_FAILURE; case 29: return Flag.CONNECTION_EXCEPTION; case 30: return Flag.DRIVER_ERROR_TIMEOUT; case 31: return Flag.DRIVER_ERROR_DECODING_RESPONSE_FAILED; case 32: return Flag.DATA_LOGGING_NOT_ACTIVE; case 33: return Flag.DRIVER_ERROR_UNSPECIFIED; case 50: return Flag.CUSTOM_ERROR_0; case 51: return Flag.CUSTOM_ERROR_1; case 52: return Flag.CUSTOM_ERROR_2; case 53: return Flag.CUSTOM_ERROR_3; case 54: return Flag.CUSTOM_ERROR_4; case 55: return Flag.CUSTOM_ERROR_5; case 56: return Flag.CUSTOM_ERROR_6; case 57: return Flag.CUSTOM_ERROR_7; case 58: return Flag.CUSTOM_ERROR_8; case 59: return Flag.CUSTOM_ERROR_9; default: throw new IllegalArgumentException("Unknown Flag code: " + code); } } }