Commit #3
[smartthings-infrastructure.git] / Lock / locking.groovy
1 //Create a class for lock device
2 package Lock
3
4 public class locking{
5         List locks
6         int count
7
8         locking(int count) {
9                 this.count = count
10                 if (count == 1) {
11                         locks = [new locks(0, "lock0", "locked", "locked")]
12                 } else if (count == 2) {
13                         locks = [new locks(0, "lock0", "locked", "locked"),new locks(1, "lock1", "locked", "locked")]
14                 } else if (count == 3) {
15                         locks = [new locks(0, "lock0", "locked", "locked"),new locks(1, "lock1", "locked", "locked"),new locks(2, "lock2", "locked", "locked")]
16                 }
17         }
18
19         def lock() {
20                 if (count == 1) {
21                         locks[0].lock()
22                 } else {
23                         locks*.lock()
24                 }
25         }
26
27         def unlock() {
28                 if (count == 1) {
29                         locks[0].unlock()
30                 } else {
31                         locks*.unlock()
32                 }
33         }
34
35         def currentValue(String S) {
36                 if (count == 1) {
37                         locks[0].currentValue(S)
38                 } else {
39                         locks*.currentValue(S)
40                 }
41         }
42
43         def latestValue(String S) {
44                 if (count == 1) {
45                         locks[0].latestValue(S)
46                 } else {
47                         locks*.latestValue(S)
48                 }
49         }
50
51         def getAt(int ix) {
52                 locks[ix]
53         }
54 }
55