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 java.util.Map;
030
031import com.github.theholywaffle.teamspeak3.api.PermissionGroupDatabaseType;
032
033public class ServerGroup extends Wrapper {
034
035        public ServerGroup(Map<String, String> map) {
036                super(map);
037        }
038
039        public int getId() {
040                return getInt("sgid");
041        }
042
043        public String getName() {
044                return get("name");
045        }
046
047        public PermissionGroupDatabaseType getType() {
048                final int type = getInt("type");
049                for (final PermissionGroupDatabaseType p : PermissionGroupDatabaseType.values()) {
050                        if (p.getIndex() == type) {
051                                return p;
052                        }
053                }
054                return null;
055        }
056
057        public int getIconId() {
058                return getInt("iconid");
059        }
060
061        public int getSaveDb() {
062                return getInt("savedb");
063        }
064
065        public int getSortId() {
066                return getInt("sortid");
067        }
068
069        public int getNameMode() {
070                return getInt("namemode");
071        }
072
073        public int getModifyPower() {
074                return getInt("n_modifyp");
075        }
076
077        public int getMemberAddPower() {
078                return getInt("n_member_addp");
079        }
080
081        public int getMemberRemovePower() {
082                return getInt("n_member_removep");
083        }
084
085}