View Javadoc

1   ////////////////////////////////////////////////////////////////////////////////
2   // MillScript: an Open Spice interpreter and batch website creation tool
3   // Copyright (C) 2001-2004 Open World Ltd
4   //
5   // This file is part of MillScript.
6   //
7   // MillScript is free software; you can redistribute it and/or modify it under
8   // the terms of the GNU General Public License as published by the Free
9   // Software Foundation; either version 2 of the License, or (at your option)
10  // any later version.
11  //
12  // MillScript is distributed in the hope that it will be useful, but WITHOUT
13  // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14  // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
15  // more details.
16  //
17  // You should have received a copy of the GNU General Public License along with
18  // MillScript; if not, write to the Free Software Foundation, Inc., 59 Temple
19  // Place, Suite 330, Boston, MA  02111-1307  USA
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  }