/* * ============================================================================ * GNU General Public License * ============================================================================ * * Copyright (C) 2006-2011 Serotonin Software Technologies Inc. http://serotoninsoftware.com * @author Matthew Lohbihler * * This program 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. * * This program 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 this program. If not, see <http://www.gnu.org/licenses/>. * * When signing a commercial license with Serotonin Software Technologies Inc., * the following extension to GPL is made. A special exception to the GPL is * included to allow you to distribute a combined work that includes BAcnet4J * without being obliged to provide the source code for any proprietary components. */ package com.serotonin.bacnet4j.enums; public enum MaxSegments { UNSPECIFIED(0, Integer.MAX_VALUE), // UP_TO_2(1, 2), // UP_TO_4(2, 4), // UP_TO_8(3, 8), // UP_TO_16(4, 16), // UP_TO_32(5, 32), // UP_TO_64(6, 64), // MORE_THAN_64(7, Integer.MAX_VALUE), // ; private byte id; private int maxSegments; MaxSegments(int id, int maxSegments) { this.id = (byte) id; this.maxSegments = maxSegments; } public byte getId() { return id; } public int getMaxSegments() { return maxSegments; } public static MaxSegments valueOf(byte id) { if (id == UNSPECIFIED.id) return UNSPECIFIED; if (id == UP_TO_2.id) return UP_TO_2; if (id == UP_TO_4.id) return UP_TO_4; if (id == UP_TO_8.id) return UP_TO_8; if (id == UP_TO_16.id) return UP_TO_16; if (id == UP_TO_32.id) return UP_TO_32; if (id == UP_TO_64.id) return UP_TO_64; if (id == MORE_THAN_64.id) return MORE_THAN_64; throw new IllegalArgumentException("Unknown id: " + id); } }