1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.millscript.millscript.datatypes;
22
23 import java.io.Serializable;
24 import java.util.AbstractList;
25 import java.util.Collection;
26
27 /**
28 * Immutable array based implementation of the <code>List</code> interface.
29 *
30 * @deprecated As of MillScript 10.2.0, this functionallity has been subsumed
31 * by the MillScript-Util project and it's Map API, see
32 * {@link org.millscript.commons.util.list.IArrayList}.
33 */
34 @Deprecated
35 public final class LiteList extends AbstractList< Object > implements Serializable {
36
37 /**
38 * This is the ID from the release 10.0.0 for future compatibility.
39 */
40 private static final long serialVersionUID = -6111841208528088584L;
41
42 /**
43 * The backing array where the elements in this list are stored.
44 */
45 private Object[] store;
46
47 /**
48 * Constructs a new empty lite list.
49 */
50 LiteList() {
51 store = new Object[ 0 ];
52 }
53
54 /**
55 * Constructs a new lite list containing the elements of the specified
56 * collection. The backing array is constructed using the {@link
57 * Collection#toArray()} method The <code>LiteList</code> instance will have
58 * the same number of elements as the specified collection.
59 *
60 * @param c the collection whose elements will make up this list.
61 * @see Collection#toArray()
62 * @throws NullPointerException if the specified collection is null.
63 */
64 LiteList( final Collection c ) {
65 store = c.toArray();
66 }
67
68 /**
69 * Constructs a new lite list using the specified array as it's backing
70 * array.
71 *
72 * @param x the array to use as a backing array for this list.
73 */
74 public LiteList( final Object[] x ) {
75 store = x;
76 }
77
78 /**
79 * @see java.util.List#get(int)
80 */
81 @Override
82 public Object get( final int index ) {
83 return store[ index ];
84 }
85
86 /**
87 * @see java.util.Collection#size()
88 */
89 @Override
90 public int size() {
91 return store.length;
92 }
93
94 }