summaryrefslogtreecommitdiff
path: root/xmerge/source/xmerge/java/org/openoffice/xmerge/util/IntArrayList.java
diff options
context:
space:
mode:
Diffstat (limited to 'xmerge/source/xmerge/java/org/openoffice/xmerge/util/IntArrayList.java')
-rw-r--r--xmerge/source/xmerge/java/org/openoffice/xmerge/util/IntArrayList.java147
1 files changed, 147 insertions, 0 deletions
diff --git a/xmerge/source/xmerge/java/org/openoffice/xmerge/util/IntArrayList.java b/xmerge/source/xmerge/java/org/openoffice/xmerge/util/IntArrayList.java
new file mode 100644
index 000000000000..a317fa2997e1
--- /dev/null
+++ b/xmerge/source/xmerge/java/org/openoffice/xmerge/util/IntArrayList.java
@@ -0,0 +1,147 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+package org.openoffice.xmerge.util;
+
+import java.util.ArrayList;
+import java.lang.Integer;
+
+/**
+ * This is a convenience class used to create an
+ * <code>ArrayList</code> of integers.
+ */
+public class IntArrayList {
+
+ /** The list to hold our integers. */
+ private ArrayList list;
+
+ /**
+ * Constructor.
+ * Creates the list with 0 length.
+ */
+ public IntArrayList() {
+ list = new ArrayList();
+ }
+
+
+ /**
+ * Constructor.
+ *
+ * @param initialCapacity Initial capacity of the list.
+ */
+ public IntArrayList(int initialCapacity) {
+ list = new ArrayList(initialCapacity);
+ }
+
+
+ /**
+ * This method ensures that the list is large enough for
+ * <code>minCapacity</code> elements.
+ *
+ * @param minCapacity The minimum capacity of the list.
+ */
+ public void ensureCapacity(int minCapacity) {
+
+ list.ensureCapacity(minCapacity);
+ }
+
+
+ /**
+ * This method ensures that the list is large enough for
+ * <code>minCapacity</code> elements. It also fills in the
+ * new slots in the list with the integer value input as
+ * <code>fillValue</code>.
+ *
+ * @param minCapacity The minimum capacity of the list.
+ * @param fillValue This method adds in a integer for each
+ * slot that was added to ensure that the
+ * list meets the minimum capacity.
+ * <code>fillValue</code> is the value
+ * used as the initial value of these
+ * added elements.
+ */
+ public void ensureCapacityAndFill(int minCapacity, int fillValue) {
+
+ list.ensureCapacity(minCapacity);
+
+ int needToAdd = minCapacity - list.size();
+ if (needToAdd > 0) {
+ for (int i = 0; i < needToAdd; i++) {
+ list.add(new Integer(fillValue));
+ }
+ }
+ }
+
+
+ /**
+ * This method sets an element of the list to the input
+ * integer value.
+ *
+ * @param index The index in the list of the element
+ * we wish to set.
+ * @param value The integer value that we assign to the
+ * selected element of the list.
+ */
+ public void set(int index, int value) {
+ list.set(index, new Integer(value));
+ }
+
+
+ /**
+ * This method appends an element to the list.
+ *
+ * @param value The integer value that we assign to the
+ * element that we are appending to the list.
+ */
+ public void add(int value) {
+ list.add(new Integer(value));
+ }
+
+
+ /**
+ * This method gets the integer value stored in element index.
+ *
+ * @param index The index in the list of the element
+ * we wish to get the value from.
+ *
+ * @return The value of the data stored in element index.
+ */
+ public int get(int index) {
+ return ((Integer)list.get(index)).intValue();
+ }
+
+
+ /**
+ * This method gets the size of the list.
+ *
+ * @return The size of the list.
+ */
+ public int size() {
+ return list.size();
+ }
+}
+