blob: bf72f4561c39f4a6f03aa1382493eedc83799615 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
/*
* Copyright (c) 2011-2015 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
/*
* Copyright (c) 2015 Tarun Gupta.
* Licensed under the simplified BSD license.
* See Documentation/Licenses/BSD-simplified.txt for more information.
*/
package com.isode.stroke.client;
import com.isode.stroke.signals.Signal1;
import com.isode.stroke.signals.Signal;
import com.isode.stroke.jid.JID;
import java.util.Vector;
public abstract class BlockList {
public enum State {
Init,
Requesting,
Available,
Error
};
public final Signal onStateChanged = new Signal();
public final Signal1<JID> onItemAdded = new Signal1<JID>();
public final Signal1<JID> onItemRemoved = new Signal1<JID>();
public abstract State getState();
public abstract Vector<JID> getItems();
public boolean isBlocked(final JID jid) {
final Vector<JID> items = getItems();
return (items.contains(jid.toBare()) || items.contains(new JID(jid.getDomain())) || items.contains(jid));
}
}
|