1 package com.atlassian.webtest.ui.keys;
2
3 import com.google.common.collect.Lists;
4
5 import java.util.ArrayList;
6 import java.util.Arrays;
7 import java.util.Collection;
8 import java.util.Collections;
9 import java.util.List;
10
11
12
13
14
15
16 public class SpecialKeysSequence extends AbstractKeySequence implements KeySequence
17 {
18 List<SpecialKeys> specialKeys;
19
20 public SpecialKeysSequence(SpecialKeys specialKey, TypeMode typeMode, Collection<ModifierKey> toPress,
21 Collection<KeyEventType> events)
22 {
23 this(Arrays.asList(specialKey), typeMode, toPress, events);
24 }
25
26 public SpecialKeysSequence(List<SpecialKeys> specialKeys, TypeMode typeMode, Collection<ModifierKey> toPress,
27 Collection<KeyEventType> events)
28 {
29 super(typeMode, toPress, events);
30 this.specialKeys = new ArrayList<SpecialKeys>(specialKeys);
31 }
32
33 private List<Key> copy(List<SpecialKeys> specialKeys)
34 {
35 List<Key> answer = Lists.newArrayList();
36 for (SpecialKeys spKey : specialKeys)
37 {
38 answer.add(spKey);
39 }
40 return answer;
41 }
42
43 public List<Key> keys()
44 {
45 return Collections.unmodifiableList(copy(specialKeys));
46 }
47
48 public List<SpecialKeys> specialKeys()
49 {
50 return Collections.unmodifiableList(new ArrayList<SpecialKeys>(specialKeys));
51 }
52 }