package com.dreikraft.axbo.data; /** * AxboResponseProtocol. Defines the possible protokol types in a data record * returned from aXbo. * * @author jan.illetschko@3kraft.com */ public enum AxboResponseProtocol { KEY('T'), BEGIN('B'), NEXT('N'), PERSON_CHANGE('P'), SENSOR_SLEEP('S'), WAKE('W'), DEFAULT('D'), GOOD_WAKE('G'), RANDOM_WAKE('R'), WAKE_INTERVAL_START('Z'), WAKE_INTERVAL_SHORT('z'), CHILLOUT('C'), SOUNDFILE('F'), POWER_NAPPING('K'), END('X'), SNOOZE('I'); private char letter; private AxboResponseProtocol(char letter) { this.letter = letter; } public char getLetter() { return letter; } public int getLetterAsInt() { return (int) letter; } public String getLetterAsString() { return String.valueOf(letter); } public static AxboResponseProtocol valueOfLetter(String letter) { for (AxboResponseProtocol arp : AxboResponseProtocol.values()) { if (arp.getLetterAsString().equals(letter)) return arp; } return AxboResponseProtocol.DEFAULT; } }