private int ts;
private String channel;
// User list: nick => channel user status modes. TreeMap auto-sorts keys
- private TreeMap<String, CModes> list = new TreeMap<String, CModes>();
+ private TreeMap<String, Membership> list = new TreeMap<String, Membership>();
private String modes = "";
private String key;
private int limit;
return list.keySet();
}
- public void addUser(String nick, String modes)
+ public void addUser(User user, String modes)
{
- list.put(nick.toLowerCase(), new CModes(modes));
+ list.put(user.getNick().toLowerCase(), new Membership(user, this, modes));
}
- public void removeUser(String nick)
+ public void removeUser(User user)
{
- list.remove(nick.toLowerCase());
+ list.remove(user.getNick().toLowerCase());
if (list.isEmpty() && !hasMode('z'))
this.destroy();
}
public void setMode(String nick, String mode)
{
- CModes user = list.get(nick.toLowerCase());
+ Membership user = list.get(nick.toLowerCase());
if (user != null)
{
user.addMode(mode);
public void remMode(String nick, String mode)
{
- CModes user = list.get(nick.toLowerCase());
+ Membership user = list.get(nick.toLowerCase());
if (user != null)
{
user.remMode(mode);
log.log(Level.FINE, "Lowering TS of " + channel + " from " + this.ts + " to " + ts);
this.ts = ts;
- for (CModes cm : list.values())
+ for (Membership cm : list.values())
cm.clear();
this.modes = "";
this.key = null;
public String getModes(String nick)
{
- CModes user = list.get(nick.toLowerCase());
+ Membership user = list.get(nick.toLowerCase());
if (user != null)
{
return user.getModes();
public void onNick(String oldnick, String newnick)
{
- CModes user = list.get(oldnick.toLowerCase());
+ Membership user = list.get(oldnick.toLowerCase());
if (user != null)
{
list.remove(oldnick.toLowerCase());
ArrayList<String> hops = new ArrayList<String>();
ArrayList<String> voices = new ArrayList<String>();
ArrayList<String> regs = new ArrayList<String>();
- CModes modes;
+ Membership modes;
User user;
for (String s : list.keySet())
{