package com.alecgorge.minecraft.jsonapi.permissions; import java.util.ArrayList; import java.util.List; import com.alecgorge.minecraft.jsonapi.JSONAPI; import com.alecgorge.minecraft.jsonapi.config.ConfigObject; import com.alecgorge.minecraft.jsonapi.config.GroupsConfig; import com.alecgorge.minecraft.jsonapi.config.JSONAPIGroupConfigObject; import com.alecgorge.minecraft.jsonapi.config.JSONAPIPermissionNode; public class JSONAPIGroup extends ConfigObject { public String name; private JSONAPIGroupConfigObject obj; public JSONAPIGroup(String groupName) { name = groupName; obj = GroupsConfig.config().getGroup(groupName); if(obj == null) { JSONAPI.instance.getLogger().warning(name + " is not a valid name for a JSONAPI group."); JSONAPI.instance.getLogger().warning("Valid group are " + GroupsConfig.config().getGroups()); } } public String getName() { return name; } private JSONAPIGroupConfigObject getConfigObject() { return obj; } public List<String> getStreams() { if(getConfigObject() == null) return new ArrayList<String>(); return getConfigObject().getStreams(); } public List<JSONAPIPermissionNode> getPermissions() { if(getConfigObject() == null) return new ArrayList<JSONAPIPermissionNode>(); return getConfigObject().getPermissions(); } public List<String> getMethods() { if(getConfigObject() == null) return new ArrayList<String>(); return getConfigObject().getMethods(); } public boolean canUseStream(String streamName) { if(getConfigObject() == null) return false; return getConfigObject().canUseStream(streamName); } public boolean canUseMethod(String methodName) { if(getConfigObject() == null) return false; return getConfigObject().canUseMethod(methodName); } public boolean hasPermission(String permission) { if(getConfigObject() == null) return false; return getConfigObject().hasPermission(permission); } }