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 package org.ximtec.igesture.io;
28
29 import java.util.HashSet;
30 import java.util.Set;
31
32 import org.ximtec.igesture.core.Gesture;
33
34
35
36
37
38
39
40 public abstract class AbstractGestureDevice<E, F> implements GestureDevice<E, F>{
41
42 private Set<GestureEventListener> gestureListeners;
43
44 private int connectionType;
45 private int deviceType;
46 private String id;
47 private String name;
48 private boolean isDefault = false;
49 private boolean connected = false;
50
51 public AbstractGestureDevice(){
52 gestureListeners = new HashSet<GestureEventListener>();
53 }
54
55
56
57
58
59 @Override
60 public void removeGestureHandler(GestureEventListener listener) {
61 gestureListeners.remove(listener);
62 }
63
64
65
66
67
68
69 @Override
70 public void addGestureHandler(GestureEventListener listener) {
71 gestureListeners.add(listener);
72 }
73
74
75
76
77
78 protected void fireGestureEvent(Gesture<?> gesture){
79 for(GestureEventListener listener:gestureListeners){
80 listener.handleGesture(gesture);
81 }
82 }
83
84
85
86
87 protected void removeAllListener(){
88 gestureListeners.clear();
89 }
90
91
92
93 public void removeAllGestureHandler()
94 {
95 removeAllListener();
96 }
97
98 @Override
99 public String getDeviceID()
100 {
101 return id;
102 }
103
104 @Override
105 public void setDeviceID(String id)
106 {
107 this.id = id;
108 }
109
110
111
112
113
114
115
116 @Override
117 public String getName()
118 {
119 return name;
120 }
121
122 @Override
123 public void setName(String name)
124 {
125 this.name = name;
126 }
127
128 @Override
129 public abstract void disconnect();
130 @Override
131 public abstract void connect();
132
133 @Override
134 public boolean isConnectable() {
135 return true;
136 }
137
138 @Override
139 public boolean isDisconnectable() {
140 return true;
141 }
142
143 @Override
144 public boolean isConnected() {
145 return connected;
146 }
147 @Override
148 public void setIsConnected(boolean isConnected)
149 {
150 connected = isConnected;
151 }
152
153 @Override
154 public int getDeviceType() {
155 return deviceType;
156 }
157 @Override
158 public void setDeviceType(int deviceType) {
159 this.deviceType = deviceType;
160 }
161
162 @Override
163 public int getConnectionType() {
164 return connectionType;
165 }
166 @Override
167 public void setConnectionType(int connectionType) {
168 this.connectionType = connectionType;
169 }
170
171 @Override
172 public boolean isDefaultDevice() {
173 return isDefault;
174 }
175 @Override
176 public void setDefaultDevice(boolean isDefault) {
177 this.isDefault = isDefault;
178 }
179
180 public String toString() {
181 return getName() + " ("+getDeviceID()+")";
182 }
183
184 @Override
185 public String getDeviceClass()
186 {
187 return getClass().getSimpleName();
188 }
189 }