litesoft
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
package org.litesoft.core.util;
import java.util.*;
public class ImmutableArrayList<E> extends ArrayList<E>
{
private transient boolean mAddOK = false;
/**
* @deprecated - for Serialization
*/
protected ImmutableArrayList()
{
mAddOK = true; // Stupid Serializer
}
public ImmutableArrayList( Collection<? extends E> pInitialEntries )
{
super( pInitialEntries );
}
public ImmutableArrayList( E... pInitialEntries )
{
super( Arrays.asList( pInitialEntries ) );
}
@Override
public boolean add( E e )
{
if ( mAddOK )
{
return super.add( e );
}
throw new UnsupportedOperationException();
}
@Override
public boolean remove( Object o )
{
throw new UnsupportedOperationException();
}
@Override
public boolean removeAll( Collection<?> c )
{
throw new UnsupportedOperationException();
}
@Override
public boolean retainAll( Collection<?> c )
{
throw new UnsupportedOperationException();
}
@Override
public E set( int index, E element )
{
throw new UnsupportedOperationException();
}
@Override
public void add( int index, E element )
{
throw new UnsupportedOperationException();
}
@Override
public E remove( int index )
{
throw new UnsupportedOperationException();
}
@Override
public boolean addAll( int index, Collection<? extends E> c )
{
throw new UnsupportedOperationException();
}
// @Override - Bug in GWT does NOT support subList
public List<E> subList( int fromIndex, int toIndex )
{
if ( fromIndex < 0 )
{
throw new IndexOutOfBoundsException( "fromIndex = " + fromIndex );
}
if ( toIndex > size() )
{
throw new IndexOutOfBoundsException( "toIndex = " + toIndex );
}
if ( fromIndex > toIndex )
{
throw new IllegalArgumentException( "fromIndex(" + fromIndex + ") > toIndex(" + toIndex + ")" );
}
ArrayList<E> zSub = new ArrayList<E>();
while ( fromIndex < toIndex )
{
zSub.add( get( fromIndex++ ) );
}
return new ImmutableArrayList<E>( zSub );
}
@SuppressWarnings({"unchecked"})
public List<E> getSortedList()
{
ArrayList<E> zList = new ArrayList<E>( this );
Collections.sort( (ArrayList<Comparable>) zList );
return zList;
}
@SuppressWarnings({"unchecked"})
public List<E> getSortedList( Comparator pComparator )
{
ArrayList<E> zList = new ArrayList<E>( this );
Collections.sort( zList, pComparator );
return zList;
}
@SuppressWarnings({"unchecked"})
private static final ImmutableArrayList EMPTY = new ImmutableArrayList( Collections.EMPTY_LIST );
@SuppressWarnings({"unchecked"})
public static <T> ImmutableArrayList<T> emptyList()
{
return (ImmutableArrayList<T>) EMPTY;
}
}
|
Revision |
Author |
Commited |
Message |
2
|
GeorgeS
|
Sun 07 Feb, 2010 12:50:58 +0000 |
|