Skip to content

Commit 3608e55

Browse files
committed
Getting rid of lombok
1 parent 94cc9d9 commit 3608e55

File tree

12 files changed

+47
-134
lines changed

12 files changed

+47
-134
lines changed

adventofcode2019.iml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
<orderEntry type="sourceFolder" forTests="false" />
1818
<orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.13.2" level="project" />
1919
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
20-
<orderEntry type="library" scope="PROVIDED" name="Maven: org.projectlombok:lombok:1.18.22" level="project" />
2120
<orderEntry type="library" name="Maven: com.google.guava:guava:31.0.1-jre" level="project" />
2221
<orderEntry type="library" name="Maven: com.google.guava:failureaccess:1.0.1" level="project" />
2322
<orderEntry type="library" name="Maven: com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava" level="project" />

pom.xml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,6 @@
3131
<version>4.13.2</version>
3232
<scope>test</scope>
3333
</dependency>
34-
<dependency>
35-
<groupId>org.projectlombok</groupId>
36-
<artifactId>lombok</artifactId>
37-
<version>1.18.22</version>
38-
<scope>provided</scope>
39-
</dependency>
4034
<dependency>
4135
<groupId>com.google.guava</groupId>
4236
<artifactId>guava</artifactId>

src/main/java/com/sbaars/adventofcode/year20/days/Day1.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.sbaars.adventofcode.year20.days;
22

33
import com.sbaars.adventofcode.year20.Day2020;
4+
import java.util.stream.LongStream;
45

56
public class Day1 extends Day2020 {
67
public static void main(String[] args) {
@@ -13,8 +14,9 @@ public Day1() {
1314

1415
@Override
1516
public Object part1() {
16-
return dayNumberStream().flatMap(a ->
17-
dayNumberStream().filter(b -> a + b == 2020L).map(b -> a * b)
17+
LongStream nums = dayNumberStream();
18+
return nums.flatMap(a ->
19+
nums.filter(b -> a + b == 2020L).map(b -> a * b)
1820
).findAny().getAsLong();
1921
}
2022

src/main/java/com/sbaars/adventofcode/year20/days/Day15.java

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,11 @@
11
package com.sbaars.adventofcode.year20.days;
22

3-
import com.sbaars.adventofcode.year20.Day2020;
4-
import lombok.Data;
5-
import lombok.Value;
6-
7-
import java.util.*;
8-
9-
import static com.google.common.primitives.Longs.asList;
10-
import static com.sbaars.adventofcode.common.ReadsFormattedString.readString;
11-
import static java.lang.Long.parseLong;
12-
import static java.lang.Long.toBinaryString;
13-
import static java.util.Optional.empty;
14-
import static java.util.Optional.of;
153
import static java.util.stream.IntStream.range;
164

5+
import com.sbaars.adventofcode.year20.Day2020;
6+
import java.util.HashMap;
7+
import java.util.Map;
8+
179
public class Day15 extends Day2020 {
1810
public static void main(String[] args) {
1911
new Day15().printParts();

src/main/java/com/sbaars/adventofcode/year20/days/Day16.java

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515
import java.util.Map;
1616
import java.util.Optional;
1717
import java.util.Set;
18-
import lombok.Data;
19-
import lombok.Value;
2018

2119
public class Day16 extends Day2020 {
2220
public static void main(String[] args) {
@@ -41,15 +39,7 @@ public Object part1() {
4139
return tickets.stream().flatMapToLong(t -> t.stream().filter(n -> stream(rules).noneMatch(r -> r.check(n))).mapToLong(e -> e)).sum();
4240
}
4341

44-
@Data
45-
@Value
46-
public static class Rule {
47-
String name;
48-
long lower1;
49-
long upper1;
50-
long lower2;
51-
long upper2;
52-
42+
record Rule (String name, long lower1, long upper1, long lower2, long upper2) {
5343
public boolean check(long val) {
5444
return (val >= lower1 && val <= upper1) || (val >= lower2 && val <= upper2);
5545
}

src/main/java/com/sbaars/adventofcode/year20/days/Day17.java

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,9 @@
11
package com.sbaars.adventofcode.year20.days;
22

33
import com.sbaars.adventofcode.year20.Day2020;
4-
import lombok.Data;
5-
import lombok.Value;
6-
7-
import java.util.ArrayList;
84
import java.util.HashSet;
9-
import java.util.List;
105
import java.util.Set;
116

12-
import static java.util.Arrays.stream;
13-
147
public class Day17 extends Day2020 {
158
public static void main(String[] args) {
169
new Day17().printParts();
@@ -65,23 +58,9 @@ public void addNeighbors(Set<Pos> pos, Set<Pos> newPos, Set<Pos> checkedPos, Pos
6558
}
6659
}
6760

68-
@Data
69-
@Value
70-
public static class Pos {
71-
long x;
72-
long y;
73-
long z;
74-
}
61+
public static record Pos (long x, long y, long z) {}
7562

76-
77-
@Data
78-
@Value
79-
public static class Pos4 {
80-
long x;
81-
long y;
82-
long z;
83-
long w;
84-
}
63+
public static record Pos4 (long x, long y, long z, long w) {}
8564

8665
@Override
8766
public Object part2() {

src/main/java/com/sbaars/adventofcode/year20/days/Day18.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
package com.sbaars.adventofcode.year20.days;
22

33
import static java.util.Arrays.stream;
4-
import static java.util.stream.IntStream.range;
54

65
import com.sbaars.adventofcode.year20.Day2020;
7-
import java.util.regex.Matcher;
8-
import java.util.regex.Pattern;
96
import org.apache.commons.lang3.tuple.Pair;
107

118
public class Day18 extends Day2020 {

src/main/java/com/sbaars/adventofcode/year20/days/Day19.java

Lines changed: 27 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
11
package com.sbaars.adventofcode.year20.days;
22

3-
import com.sbaars.adventofcode.year20.Day2020;
4-
import lombok.Data;
5-
import lombok.Value;
6-
7-
import java.util.*;
8-
import java.util.stream.Collectors;
9-
import java.util.stream.Stream;
10-
113
import static java.lang.Long.parseLong;
12-
import static java.util.Arrays.asList;
134
import static java.util.Arrays.stream;
145
import static java.util.Collections.singletonList;
156

7+
import com.sbaars.adventofcode.year20.Day2020;
8+
import java.util.Arrays;
9+
import java.util.Collection;
10+
import java.util.HashMap;
11+
import java.util.HashSet;
12+
import java.util.Map;
13+
import java.util.Optional;
14+
import java.util.Set;
15+
import java.util.stream.Collectors;
16+
1617
public class Day19 extends Day2020 {
1718
public static void main(String[] args) {
1819
new Day19().printParts();
@@ -41,37 +42,29 @@ private long getSolution(String inputFile) {
4142
.count();
4243
}
4344

44-
@Data
45-
@Value
46-
public static class Rule{
47-
long id;
48-
Optional<String> letter;
49-
long[] rule1;
50-
long[] rule2;
45+
private static Optional<String> getLetter(String rule){
46+
return rule.startsWith("\"") ? Optional.of(rule.charAt(1)+"") : Optional.empty();
47+
}
5148

49+
private static long[] getRule(String rule, boolean num){
50+
if(rule.startsWith("\"")){
51+
return new long[]{};
52+
}
53+
String[] r = rule.split(" \\| ");
54+
if (!num || r.length > 1) {
55+
return Arrays.stream(r[num ? 1 : 0].split(" ")).mapToLong(Long::parseLong).toArray();
56+
} else {
57+
return new long[]{};
58+
}
59+
}
60+
61+
public static record Rule (long id, Optional<String> letter, long[] rule1, long[] rule2) {
5262
public Rule(long id, String rule){
53-
this.id = id;
54-
if(rule.startsWith("\"")){
55-
letter = Optional.of(rule.charAt(1)+"");
56-
rule2 = new long[]{};
57-
rule1 = new long[]{};
58-
} else {
59-
letter = Optional.empty();
60-
String[] r = rule.split(" \\| ");
61-
rule1 = Arrays.stream(r[0].split(" ")).mapToLong(Long::parseLong).toArray();
62-
if (r.length > 1) {
63-
rule2 = Arrays.stream(r[1].split(" ")).mapToLong(Long::parseLong).toArray();
64-
} else {
65-
rule2 = new long[]{};
66-
}
67-
}
63+
this(id, getLetter(rule), getRule(rule, false), getRule(rule, true));
6864
}
6965

7066
public Set<String> getPossibilities(Map<Long, Rule> m, Map<Long, Set<String>> sol){
7167
if(sol.containsKey(id)) return sol.get(id);
72-
// if(id == 8){
73-
// System.out.println("hi");
74-
// }
7568
if(letter.isEmpty()){
7669
Rule[] r = stream(rule1).mapToObj(m::get).toArray(Rule[]::new);
7770
Rule[] orRule = stream(rule2).mapToObj(m::get).toArray(Rule[]::new);

src/main/java/com/sbaars/adventofcode/year20/days/Day2.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,7 @@
44
import static java.lang.Math.toIntExact;
55

66
import com.sbaars.adventofcode.year20.Day2020;
7-
import java.util.List;
87
import java.util.function.Predicate;
9-
import java.util.stream.Collectors;
10-
import lombok.Data;
11-
import lombok.Value;
128

139
public class Day2 extends Day2020 {
1410
public static void main(String[] args) {

src/main/java/com/sbaars/adventofcode/year20/days/Day20.java

Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,13 @@
1414
import com.sbaars.adventofcode.year20.Day2020;
1515
import java.awt.*;
1616
import java.util.ArrayList;
17-
import java.util.Arrays;
1817
import java.util.Collection;
1918
import java.util.EnumMap;
2019
import java.util.HashMap;
2120
import java.util.List;
2221
import java.util.Map;
2322
import java.util.stream.Collectors;
24-
import lombok.Data;
25-
import lombok.Value;
2623
import org.apache.commons.lang3.ArrayUtils;
27-
import org.apache.commons.lang3.StringUtils;
2824

2925
public class Day20 extends Day2020 {
3026
public static void main(String[] args) {
@@ -51,15 +47,9 @@ public Object part1() {
5147
return answer.stream().mapToLong(e -> e).reduce((a,b) -> a * b).getAsLong();
5248
}
5349

54-
@Data
55-
@Value
56-
public static class Grid{
57-
long id;
58-
char[][] grid;
59-
50+
public static record Grid (long id, char[][] grid) {
6051
public Grid(String s){
61-
this.id = parseLong(s.substring(5,9));
62-
this.grid = stream(s.substring(11).split("\n")).map(String::toCharArray).toArray(char[][]::new);
52+
this(parseLong(s.substring(5,9)), stream(s.substring(11).split("\n")).map(String::toCharArray).toArray(char[][]::new));
6353
}
6454

6555
public Multimap<String, Metadata> getSides(Multimap<String, Metadata> map){
@@ -113,13 +103,7 @@ public long countWithoutSides(){
113103
}
114104
}
115105

116-
@Data
117-
@Value
118-
public static class Metadata{
119-
long id;
120-
Direction dir;
121-
boolean flipped;
122-
106+
public static record Metadata (long id, Direction dir, boolean flipped) {
123107
public boolean validMetadata(List<Metadata> l){
124108
Map<Direction, Boolean> map = new EnumMap<Direction, Boolean>(Direction.class);
125109
for(Metadata m : l){

0 commit comments

Comments
 (0)