summaryrefslogtreecommitdiff
path: root/NET/worlds/scape/VectorProperty.java
blob: cbd9573efe0051b08ce3bc4aee6e938ea1bc20b4 (plain) (blame)
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
package NET.worlds.scape;

import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Vector;

public class VectorProperty extends Property {
   private PropAdder adder;
   private boolean allowSorting = true;

   public VectorProperty(Properties owner, int index, String propName) {
      super(owner, index, propName);
   }

   public static Vector toVector(Object[] arr) {
      Vector v = new Vector(arr.length);

      for (int i = 0; i < arr.length; i++) {
         v.addElement(arr[i]);
      }

      return v;
   }

   public static Vector toVector(Hashtable hash) {
      Vector v = new Vector(hash.size());
      Enumeration e = hash.elements();

      while (e.hasMoreElements()) {
         v.addElement(e.nextElement());
      }

      return v;
   }

   public Object delete(Object obj) {
      assert obj != null;

      assert this.adder != null;

      return this.operate(4, obj);
   }

   public Object add(Object obj) {
      assert obj != null;

      assert this.adder != null;

      return this.operate(3, obj);
   }

   public boolean addTest(Object obj) {
      assert obj != null;

      assert this.adder != null;

      return this.operate(5, obj) != null;
   }

   public VectorProperty setAdder(PropAdder adder) {
      this.adder = adder;
      return this;
   }

   public PropAdder getAdder() {
      return this.adder;
   }

   public void allowSorting(boolean allow) {
      this.allowSorting = allow;
   }

   public boolean shouldSort() {
      return this.allowSorting;
   }
}