Skip to content

Commit 238cf3d

Browse files
committed
- convert code to Java 7
1 parent aaf356c commit 238cf3d

File tree

11 files changed

+154
-32
lines changed

11 files changed

+154
-32
lines changed

android-linq.iml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
3-
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8" inherit-compiler-output="false">
3+
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="false">
44
<output url="file://$MODULE_DIR$/target/classes" />
55
<output-test url="file://$MODULE_DIR$/target/test-classes" />
66
<content url="file://$MODULE_DIR$">
@@ -9,7 +9,7 @@
99
<sourceFolder url="file://$MODULE_DIR$/src/test/groovy" isTestSource="true" />
1010
<excludeFolder url="file://$MODULE_DIR$/target" />
1111
</content>
12-
<orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />
12+
<orderEntry type="jdk" jdkName="1.7" jdkType="JavaSDK" />
1313
<orderEntry type="sourceFolder" forTests="false" />
1414
<orderEntry type="module-library">
1515
<library>

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
<packaging>jar</packaging>
1212

1313
<properties>
14-
<maven.compiler.source>1.8</maven.compiler.source>
15-
<maven.compiler.target>1.8</maven.compiler.target>
14+
<maven.compiler.source>1.7</maven.compiler.source>
15+
<maven.compiler.target>1.7</maven.compiler.target>
1616
</properties>
1717

1818
<name>Android LINQ</name>

src/main/java/br/com/zbra/androidlinq/AbstractStream.java

Lines changed: 87 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,12 @@ public <K, E> Stream<Grouping<K, E>> groupBy(Selector<T, K> keySelector, Selecto
3737

3838
@Override
3939
public <K> Stream<Grouping<K, T>> groupBy(Selector<T, K> keySelector) {
40-
return groupBy(keySelector, t -> t);
40+
return groupBy(keySelector, new Selector<T, T>() {
41+
@Override
42+
public T select(T t) {
43+
return t;
44+
}
45+
});
4146
}
4247

4348
@Override
@@ -47,7 +52,12 @@ public <R> OrderedStream<T> orderBy(Selector<T, R> keySelector, Comparator<R> co
4752

4853
@Override
4954
public <R extends Comparable<R>> OrderedStream<T> orderBy(Selector<T, R> keySelector) {
50-
return orderBy(keySelector, R::compareTo);
55+
return orderBy(keySelector, new Comparator<R>() {
56+
@Override
57+
public int compare(R r, R o) {
58+
return r.compareTo(o);
59+
}
60+
});
5161
}
5262

5363
@Override
@@ -56,8 +66,13 @@ public <R> OrderedStream<T> orderByDescending(Selector<T, R> keySelector, Compar
5666
}
5767

5868
@Override
59-
public <R extends Comparable<R>> OrderedStream<T> orderByDescending(Selector<T, R> keySelector) {
60-
return orderByDescending(keySelector, R::compareTo);
69+
public <R extends Comparable<R>> OrderedStream<T> orderByDescending(final Selector<T, R> keySelector) {
70+
return orderByDescending(keySelector, new Comparator<R>() {
71+
@Override
72+
public int compare(R r, R o) {
73+
return r.compareTo(o);
74+
}
75+
});
6176
}
6277

6378
@Override
@@ -84,43 +99,83 @@ public Stream<T> skip(int count) {
8499

85100
@Override
86101
public Stream<T> distinct() {
87-
HashSet<T> set = new HashSet<>();
88-
return where(set::add);
102+
final HashSet<T> set = new HashSet<>();
103+
return where(new Predicate<T>() {
104+
@Override
105+
public boolean apply(T e) {
106+
return set.add(e);
107+
}
108+
});
89109
}
90110

91111
@Override
92-
public Byte sum(SelectorByte<T> selector) {
93-
return aggregate((byte)0, (Byte v, T t) -> (byte)(v + selector.select(t)));
112+
public Byte sum(final SelectorByte<T> selector) {
113+
return aggregate((byte)0, new Aggregator<T, Byte>() {
114+
@Override
115+
public Byte aggregate(Byte v, T t) {
116+
return (byte) (v + selector.select(t));
117+
}
118+
});
94119
}
95120

96121
@Override
97-
public Short sum(SelectorShort<T> selector) {
98-
return aggregate((short)0, (Short v, T t) -> (short)(v + selector.select(t)));
122+
public Short sum(final SelectorShort<T> selector) {
123+
return aggregate((short)0, new Aggregator<T, Short>() {
124+
@Override
125+
public Short aggregate(Short v, T t) {
126+
return (short) (v + selector.select(t));
127+
}
128+
});
99129
}
100130

101131
@Override
102-
public Integer sum(SelectorInteger<T> selector) {
103-
return aggregate(0, (Integer v, T t) -> v + selector.select(t));
132+
public Integer sum(final SelectorInteger<T> selector) {
133+
return aggregate(0, new Aggregator<T, Integer>() {
134+
@Override
135+
public Integer aggregate(Integer v, T t) {
136+
return v + selector.select(t);
137+
}
138+
});
104139
}
105140

106141
@Override
107-
public Long sum(SelectorLong<T> selector) {
108-
return aggregate(0l, (Long v, T t) -> v + selector.select(t));
142+
public Long sum(final SelectorLong<T> selector) {
143+
return aggregate(0l, new Aggregator<T, Long>() {
144+
@Override
145+
public Long aggregate(Long v, T t) {
146+
return v + selector.select(t);
147+
}
148+
});
109149
}
110150

111151
@Override
112-
public Float sum(SelectorFloat<T> selector) {
113-
return aggregate(0f, (Float v, T t) -> v + selector.select(t));
152+
public Float sum(final SelectorFloat<T> selector) {
153+
return aggregate(0f, new Aggregator<T, Float>() {
154+
@Override
155+
public Float aggregate(Float v, T t) {
156+
return v + selector.select(t);
157+
}
158+
});
114159
}
115160

116161
@Override
117-
public Double sum(SelectorDouble<T> selector) {
118-
return aggregate(0d, (Double v, T t) -> v + selector.select(t));
162+
public Double sum(final SelectorDouble<T> selector) {
163+
return aggregate(0d, new Aggregator<T, Double>() {
164+
@Override
165+
public Double aggregate(Double v, T t) {
166+
return v + selector.select(t);
167+
}
168+
});
119169
}
120170

121171
@Override
122-
public BigDecimal sum(SelectorBigDecimal<T> selector) {
123-
return aggregate(new BigDecimal(0), (BigDecimal v, T t) -> v.add(selector.select(t)));
172+
public BigDecimal sum(final SelectorBigDecimal<T> selector) {
173+
return aggregate(new BigDecimal(0), new Aggregator<T, BigDecimal>() {
174+
@Override
175+
public BigDecimal aggregate(BigDecimal v, T t) {
176+
return v.add(selector.select(t));
177+
}
178+
});
124179
}
125180

126181
@Override
@@ -135,7 +190,12 @@ public boolean any(Predicate<T> predicate) {
135190

136191
@Override
137192
public int count() {
138-
return aggregate(0, (a, t) -> a + 1);
193+
return aggregate(0, new Aggregator<T, Integer>() {
194+
@Override
195+
public Integer aggregate(Integer a, T t) {
196+
return a + 1;
197+
}
198+
});
139199
}
140200

141201
@Override
@@ -249,7 +309,12 @@ public List<T> toList() {
249309

250310
@Override
251311
public <K> Map<K, T> toMap(Selector<T, K> keySelector) {
252-
return toMap(keySelector, t -> t);
312+
return toMap(keySelector, new Selector<T, T>() {
313+
@Override
314+
public T select(T t) {
315+
return t;
316+
}
317+
});
253318
}
254319

255320
@Override

src/main/java/br/com/zbra/androidlinq/ArrayStream.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,5 +53,10 @@ public T next() {
5353
index += increment;
5454
return nextElement;
5555
}
56+
57+
@Override
58+
public void remove() {
59+
throw new UnsupportedOperationException("remove");
60+
}
5661
}
5762
}

src/main/java/br/com/zbra/androidlinq/OrderByStream.java

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,26 +52,46 @@ private Iterator<T> getIterator(java.util.Comparator<T> comparator) {
5252
}
5353

5454
@Override
55-
public <TKey> OrderedStream<T> thenBy(Selector<T, TKey> keySelector, Comparator<TKey> comparator) {
56-
this.queuedComparators.addComparator((T t1, T t2) -> comparator.compare(keySelector.select(t1), keySelector.select(t2)));
55+
public <TKey> OrderedStream<T> thenBy(final Selector<T, TKey> keySelector, final Comparator<TKey> comparator) {
56+
this.queuedComparators.addComparator(new java.util.Comparator<T>() {
57+
@Override
58+
public int compare(T t1, T t2) {
59+
return comparator.compare(keySelector.select(t1), keySelector.select(t2));
60+
}
61+
});
5762
return this;
5863
}
5964

6065
@Override
6166
public <TKey extends Comparable<TKey>> OrderedStream<T> thenBy(Selector<T, TKey> keySelector) {
62-
thenBy(keySelector, TKey::compareTo);
67+
thenBy(keySelector, new Comparator<TKey>() {
68+
@Override
69+
public int compare(TKey tKey, TKey o) {
70+
return tKey.compareTo(o);
71+
}
72+
});
6373
return this;
6474
}
6575

6676
@Override
67-
public <TKey> OrderedStream<T> thenByDescending(Selector<T, TKey> keySelector, Comparator<TKey> comparator) {
68-
this.queuedComparators.addComparator((T t1, T t2) -> comparator.compare(keySelector.select(t1), keySelector.select(t2)) * -1);
77+
public <TKey> OrderedStream<T> thenByDescending(final Selector<T, TKey> keySelector, final Comparator<TKey> comparator) {
78+
this.queuedComparators.addComparator(new java.util.Comparator<T>() {
79+
@Override
80+
public int compare(T t1, T t2) {
81+
return comparator.compare(keySelector.select(t1), keySelector.select(t2)) * -1;
82+
}
83+
});
6984
return this;
7085
}
7186

7287
@Override
7388
public <TKey extends Comparable<TKey>> OrderedStream<T> thenByDescending(Selector<T, TKey> keySelector) {
74-
thenByDescending(keySelector, TKey::compareTo);
89+
thenByDescending(keySelector, new Comparator<TKey>() {
90+
@Override
91+
public int compare(TKey tKey, TKey o) {
92+
return tKey.compareTo(o);
93+
}
94+
});
7595
return this;
7696
}
7797

src/main/java/br/com/zbra/androidlinq/ReverseListIterator.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,18 @@ public ReverseListIterator(List<T> list) {
1111
iterator = list.listIterator(list.size());
1212
}
1313

14+
@Override
1415
public boolean hasNext() {
1516
return iterator.hasPrevious();
1617
}
1718

19+
@Override
1820
public T next() {
1921
return iterator.previous();
2022
}
23+
24+
@Override
25+
public void remove() {
26+
throw new UnsupportedOperationException("remove");
27+
}
2128
}

src/main/java/br/com/zbra/androidlinq/SelectManyStream.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,5 +59,10 @@ public TSelected next() {
5959
hasNext = null;
6060
return selectedIterator.next();
6161
}
62+
63+
@Override
64+
public void remove() {
65+
throw new UnsupportedOperationException("remove");
66+
}
6267
}
6368
}

src/main/java/br/com/zbra/androidlinq/SelectStream.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,5 +46,10 @@ public boolean hasNext() {
4646
public TSelected next() {
4747
return selector.select(iterator.next());
4848
}
49+
50+
@Override
51+
public void remove() {
52+
throw new UnsupportedOperationException("remove");
53+
}
4954
}
5055
}

src/main/java/br/com/zbra/androidlinq/SkipStream.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,5 +49,10 @@ public boolean hasNext() {
4949
public T next() {
5050
return wrapped.next();
5151
}
52+
53+
@Override
54+
public void remove() {
55+
throw new UnsupportedOperationException("remove");
56+
}
5257
}
5358
}

src/main/java/br/com/zbra/androidlinq/TakeStream.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,5 +51,10 @@ public T next() {
5151
if (index > count) throw new NoSuchElementException();
5252
return wrapped.next();
5353
}
54+
55+
@Override
56+
public void remove() {
57+
throw new UnsupportedOperationException("remove");
58+
}
5459
}
5560
}

0 commit comments

Comments
 (0)