aboutsummaryrefslogtreecommitdiffstats
path: root/libraries/spongycastle/core/src/main/jdk1.1/java/util/Sublist.java
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/spongycastle/core/src/main/jdk1.1/java/util/Sublist.java')
-rw-r--r--libraries/spongycastle/core/src/main/jdk1.1/java/util/Sublist.java125
1 files changed, 125 insertions, 0 deletions
diff --git a/libraries/spongycastle/core/src/main/jdk1.1/java/util/Sublist.java b/libraries/spongycastle/core/src/main/jdk1.1/java/util/Sublist.java
new file mode 100644
index 000000000..3f1a4a1bd
--- /dev/null
+++ b/libraries/spongycastle/core/src/main/jdk1.1/java/util/Sublist.java
@@ -0,0 +1,125 @@
+package java.util;
+
+/**
+ * Title:
+ * Description:
+ * Copyright: Copyright (c) 2001
+ * Company:
+ * @version 1.0
+ */
+
+public class Sublist extends AbstractList
+
+ {
+ AbstractList m_al=null;
+ int m_fromIndex=0;
+ int m_toIndex=0;
+ int size=0;
+
+ public Sublist(AbstractList ali,int fromIndex,int toIndex)
+ {
+ m_al=ali;
+ m_toIndex=toIndex;
+ m_fromIndex=fromIndex;
+ size = size();
+ }
+ public Object set(int index,Object o)
+ {
+ if (index < size)
+ {
+ o = m_al.set(index+m_fromIndex,o);
+ if (o != null)
+ {
+ size++;
+ m_toIndex++;
+ }
+ return o;
+ }
+ else throw new IndexOutOfBoundsException();
+ }
+
+ public Object get(int index) throws IndexOutOfBoundsException
+ {
+ if (index < size) return m_al.get(index+m_fromIndex);
+ else throw new IndexOutOfBoundsException();
+ }
+
+ public void add (int index,Object o)
+ {
+
+ if (index <= size)
+ {
+ m_al.add(index + m_fromIndex,o);
+ m_toIndex++;
+ size++;
+
+ }
+ else throw new IndexOutOfBoundsException();
+
+ }
+
+ public Object remove(int index,Object o)
+ {
+ if (index < size)
+ {
+ Object ob = m_al.remove(index + m_fromIndex);
+ if (ob !=null)
+ {
+ m_toIndex--;
+ size--;
+ }
+ return ob;
+ }
+ else throw new IndexOutOfBoundsException();
+ }
+
+ public boolean addAll(int index, Collection c)
+ {
+ if (index < size)
+ {
+ boolean bool = m_al.addAll(index + m_fromIndex,c);
+ if (bool)
+ {
+ int lange = c.size();
+ m_toIndex = m_toIndex + lange;
+ size = size + lange;
+ }
+ return bool;
+ }
+ else throw new IndexOutOfBoundsException();
+ }
+
+ public boolean addAll(Collection c)
+ {
+ boolean bool = m_al.addAll(m_toIndex,c);
+ if (bool)
+ {
+ int lange = c.size();
+ m_toIndex = m_toIndex + lange;
+ size = size + lange;
+ }
+ return bool;
+ }
+
+ public void removeRange (int from,int to)
+ {
+ if ((from <= to) && (from <= size) && (to <= size))
+ {
+ m_al.removeRange(from,to);
+ int lange = to - from;
+ m_toIndex = m_toIndex - lange;
+ size = size - lange;
+ }
+ else
+ {
+ if (from > to) throw new IllegalArgumentException();
+ else throw new IndexOutOfBoundsException();
+ }
+ }
+
+ public int size()
+ {
+ return (m_toIndex - m_fromIndex);
+ }
+
+}