001package com.github.theholywaffle.teamspeak3.api.wrapper;
002
003/*
004 * #%L
005 * TeamSpeak 3 Java API
006 * %%
007 * Copyright (C) 2014 Bert De Geyter
008 * %%
009 * Permission is hereby granted, free of charge, to any person obtaining a copy
010 * of this software and associated documentation files (the "Software"), to deal
011 * in the Software without restriction, including without limitation the rights
012 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
013 * copies of the Software, and to permit persons to whom the Software is
014 * furnished to do so, subject to the following conditions:
015 * 
016 * The above copyright notice and this permission notice shall be included in
017 * all copies or substantial portions of the Software.
018 * 
019 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
020 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
021 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
022 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
023 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
024 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
025 * THE SOFTWARE.
026 * #L%
027 */
028
029import com.github.theholywaffle.teamspeak3.api.PermissionGroupDatabaseType;
030
031import java.util.Map;
032
033public class ChannelGroup extends Wrapper {
034
035        public ChannelGroup(Map<String, String> map) {
036                super(map);
037        }
038
039        public int getId() {
040                return getInt("cgid");
041        }
042
043        /**
044         * @deprecated Use {@link #getId()} instead.
045         */
046        @Deprecated
047        public int getGroupId() {
048                return getId();
049        }
050
051        public String getName() {
052                return get("name");
053        }
054
055        public PermissionGroupDatabaseType getType() {
056                final int type = getInt("type");
057                for (final PermissionGroupDatabaseType t : PermissionGroupDatabaseType.values()) {
058                        if (t.getIndex() == type) {
059                                return t;
060                        }
061                }
062                return null;
063        }
064
065        public long getIconId() {
066                return getLong("iconid");
067        }
068
069        public boolean isSavedInDatabase() {
070                return getBoolean("savedb");
071        }
072
073        public int getSortId() {
074                return getInt("sortid");
075        }
076
077        public int getNameMode() {
078                return getInt("namemode");
079        }
080
081        public int getModifyPower() {
082                return getInt("n_modifyp");
083        }
084
085        public int getMemberAddPower() {
086                return getInt("n_member_addp");
087        }
088
089        public int getMemberRemovePower() {
090                return getInt("n_member_removep");
091        }
092
093}