Skip to content

Commit 115cc64

Browse files
committed
Stop using Getter and NonNull
1 parent 0bb00ba commit 115cc64

File tree

11 files changed

+51
-32
lines changed

11 files changed

+51
-32
lines changed

bosk-core/src/main/java/works/bosk/Listing.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import java.util.stream.StreamSupport;
1515
import lombok.AccessLevel;
1616
import lombok.EqualsAndHashCode;
17-
import lombok.Getter;
1817
import lombok.RequiredArgsConstructor;
1918
import org.pcollections.OrderedPSet;
2019
import works.bosk.exceptions.NonexistentReferenceException;
@@ -35,12 +34,15 @@
3534
@EqualsAndHashCode(callSuper = false)
3635
@RequiredArgsConstructor(access=AccessLevel.PACKAGE)
3736
public final class Listing<E extends Entity> extends AbstractCollection<Reference<E>> {
37+
private final CatalogReference<E> domain;
38+
private final OrderedPSet<Identifier> ids;
39+
3840
/**
3941
* The {@link Catalog} in which all the {@link #ids()} reside.
4042
*/
41-
@Getter
42-
private final CatalogReference<E> domain;
43-
private final OrderedPSet<Identifier> ids;
43+
public CatalogReference<E> domain() {
44+
return domain;
45+
}
4446

4547
@Override
4648
public String toString() {

bosk-core/src/main/java/works/bosk/ReferenceUtils.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import java.util.List;
1414
import java.util.Map;
1515
import java.util.stream.Stream;
16-
import lombok.Getter;
1716
import lombok.RequiredArgsConstructor;
1817
import lombok.Value;
1918
import lombok.experimental.Delegate;
@@ -106,8 +105,16 @@ public Reference<ListingEntry> then(Identifier id) {
106105
static final class SideTableRef<K extends Entity,V> implements SideTableReference<K,V> {
107106
@Delegate(excludes = {CovariantOverrides.class})
108107
private final Reference<SideTable<K,V>> ref;
109-
private final @Getter Class<K> keyClass;
110-
private final @Getter Class<V> valueClass;
108+
private final Class<K> keyClass;
109+
private final Class<V> valueClass;
110+
111+
public Class<K> keyClass() {
112+
return keyClass;
113+
}
114+
115+
public Class<V> valueClass() {
116+
return valueClass;
117+
}
111118

112119
@Override
113120
public Reference<V> then(Identifier id) {

bosk-core/src/main/java/works/bosk/SideTable.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import java.util.stream.Stream;
1616
import lombok.AccessLevel;
1717
import lombok.EqualsAndHashCode;
18-
import lombok.Getter;
1918
import lombok.RequiredArgsConstructor;
2019
import org.pcollections.OrderedPMap;
2120
import org.pcollections.OrderedPSet;
@@ -33,7 +32,6 @@
3332
@EqualsAndHashCode
3433
@RequiredArgsConstructor(access=AccessLevel.PRIVATE)
3534
public final class SideTable<K extends Entity, V> implements EnumerableByIdentifier<V> {
36-
@Getter
3735
private final CatalogReference<K> domain;
3836
private final OrderedPMap<Identifier, V> valuesById;
3937

@@ -45,6 +43,11 @@ public final class SideTable<K extends Entity, V> implements EnumerableByIdentif
4543

4644
public boolean isEmpty() { return valuesById.isEmpty(); }
4745
public int size() { return valuesById.size(); }
46+
47+
public CatalogReference<K> domain() {
48+
return domain;
49+
}
50+
4851
public List<Identifier> ids() { return List.copyOf(valuesById.keySet()); }
4952
public Listing<K> keys() { return new Listing<>(domain, OrderedPSet.from(valuesById.keySet())); }
5053
public Collection<V> values() { return valuesById.values(); }

bosk-core/src/main/java/works/bosk/exceptions/InvalidFieldTypeException.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
11
package works.bosk.exceptions;
22

3-
import lombok.Getter;
4-
5-
@Getter
63
public class InvalidFieldTypeException extends InvalidTypeException {
74
private final Class<?> containingClass;
85
private final String fieldName;
96

7+
public Class<?> containingClass() {
8+
return this.containingClass;
9+
}
10+
11+
public String fieldName() {
12+
return this.fieldName;
13+
}
14+
1015
public InvalidFieldTypeException(Class<?> containingClass, String fieldName, String message) {
1116
super(fullMessage(containingClass, fieldName, message));
1217
this.containingClass = containingClass;

bosk-core/src/test/java/works/bosk/HookRecorder.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,15 @@
33
import java.util.ArrayList;
44
import java.util.List;
55
import lombok.EqualsAndHashCode;
6-
import lombok.Getter;
76
import lombok.RequiredArgsConstructor;
87

98
class HookRecorder {
10-
@Getter
119
private final List<Event> events = new ArrayList<>();
1210

11+
public List<Event> events() {
12+
return events;
13+
}
14+
1315
/**
1416
* Call if you want to record just the events that happen after a certain point.
1517
*/

bosk-core/src/test/java/works/bosk/TypeValidationTest.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,7 @@
44
import java.util.ArrayList;
55
import java.util.Map;
66
import java.util.Optional;
7-
import lombok.AccessLevel;
87
import lombok.EqualsAndHashCode;
9-
import lombok.Getter;
10-
import lombok.experimental.FieldDefaults;
118
import org.junit.jupiter.api.Test;
129
import org.junit.jupiter.params.ParameterizedTest;
1310
import org.junit.jupiter.params.provider.ValueSource;
@@ -504,14 +501,17 @@ public record ListValueSubclassWithMutableField(
504501
Identifier id,
505502
Subclass badField
506503
) implements Entity {
507-
@Getter @FieldDefaults(level=AccessLevel.PRIVATE)
508504
@EqualsAndHashCode(callSuper = true)
509505
public static final class Subclass extends ListValue<String> {
510-
int mutableField;
506+
private int mutableField;
511507

512508
Subclass(String[] entries) {
513509
super(entries);
514510
}
511+
512+
public int mutableField() {
513+
return this.mutableField;
514+
}
515515
}
516516

517517
public static void testException(InvalidTypeException e) {
@@ -524,12 +524,12 @@ public record ListValueSubclassWithTwoConstructors(
524524
Identifier id,
525525
Subclass badField
526526
) implements Entity {
527-
@Getter @FieldDefaults(level=AccessLevel.PRIVATE)
528527
@EqualsAndHashCode(callSuper = true)
529528
public static final class Subclass extends ListValue<String> {
530529
Subclass(String[] entries) {
531530
super(entries);
532531
}
532+
533533
Subclass() {
534534
super(new String[]{"Hello"});
535535
}
@@ -546,7 +546,6 @@ public record ListValueSubclassWithWrongConstructor(
546546
Identifier id,
547547
Subclass badField
548548
) implements Entity {
549-
@Getter @FieldDefaults(level=AccessLevel.PRIVATE)
550549
@EqualsAndHashCode(callSuper = true)
551550
public static final class Subclass extends ListValue<String> {
552551
Subclass() {

bosk-mongo/src/main/java/module-info.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
requires transitive works.bosk.core;
1717

1818
requires static lombok;
19+
requires jakarta.annotation;
1920

2021
exports works.bosk.drivers.mongo;
2122
exports works.bosk.drivers.mongo.exceptions;

bosk-mongo/src/main/java/works/bosk/drivers/mongo/internal/Formatter.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22

33
import com.mongodb.client.model.changestream.ChangeStreamDocument;
44
import com.mongodb.client.model.changestream.UpdateDescription;
5+
import jakarta.annotation.Nonnull;
56
import java.lang.reflect.Type;
67
import java.util.HashSet;
78
import java.util.List;
89
import java.util.Map;
910
import java.util.Set;
10-
import lombok.NonNull;
1111
import org.bson.BsonBinaryWriter;
1212
import org.bson.BsonDocument;
1313
import org.bson.BsonDocumentReader;
@@ -169,7 +169,7 @@ BsonInt64 getRevisionFromFullDocument(BsonDocument fullDocument) {
169169
return fullDocument.getInt64(DocumentFields.revision.name(), null);
170170
}
171171

172-
@NonNull MapValue<String> eventDiagnosticAttributesFromFullDocument(BsonDocument fullDocument) {
172+
@Nonnull MapValue<String> eventDiagnosticAttributesFromFullDocument(BsonDocument fullDocument) {
173173
return getOrSetEventDiagnosticAttributes(getDiagnosticAttributesFromFullDocument(fullDocument));
174174
}
175175

@@ -186,7 +186,7 @@ BsonInt64 getRevisionFromUpdateEvent(ChangeStreamDocument<BsonDocument> event) {
186186
return updatedFields.getInt64(DocumentFields.revision.name(), null);
187187
}
188188

189-
@NonNull MapValue<String> eventDiagnosticAttributesFromUpdate(ChangeStreamDocument<BsonDocument> event) {
189+
@Nonnull MapValue<String> eventDiagnosticAttributesFromUpdate(ChangeStreamDocument<BsonDocument> event) {
190190
return getOrSetEventDiagnosticAttributes(getDiagnosticAttributesFromUpdateEvent(event));
191191
}
192192

@@ -214,7 +214,7 @@ static BsonDocument getDiagnosticAttributesIfAny(BsonDocument fullDocument) {
214214
return fullDocument.getDocument(DocumentFields.diagnostics.name(), null);
215215
}
216216

217-
@NonNull private MapValue<String> getOrSetEventDiagnosticAttributes(MapValue<String> fromEvent) {
217+
@Nonnull private MapValue<String> getOrSetEventDiagnosticAttributes(MapValue<String> fromEvent) {
218218
if (fromEvent == null) {
219219
LOGGER.debug("No diagnostic attributes in event; assuming they are unchanged");
220220
return lastEventDiagnosticAttributes;

bosk-mongo/src/main/java/works/bosk/drivers/mongo/internal/PandoFormatDriver.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import com.mongodb.client.result.InsertOneResult;
1313
import com.mongodb.client.result.UpdateResult;
1414
import com.mongodb.lang.Nullable;
15+
import jakarta.annotation.Nonnull;
1516
import java.io.IOException;
1617
import java.util.ArrayList;
1718
import java.util.EnumSet;
@@ -21,7 +22,6 @@
2122
import java.util.Set;
2223
import java.util.concurrent.ConcurrentHashMap;
2324
import java.util.regex.Pattern;
24-
import lombok.NonNull;
2525
import org.bson.BsonDocument;
2626
import org.bson.BsonInt32;
2727
import org.bson.BsonInt64;
@@ -408,7 +408,7 @@ private List<BsonDocument> subpartDocuments(List<ChangeStreamDocument<BsonDocume
408408
.collect(toCollection(ArrayList::new));
409409
}
410410

411-
private @NonNull BsonDocument fullDocumentForSubPart(ChangeStreamDocument<BsonDocument> event) {
411+
private @Nonnull BsonDocument fullDocumentForSubPart(ChangeStreamDocument<BsonDocument> event) {
412412
BsonDocument result = event.getFullDocument();
413413
if (result == null) {
414414
throw new IllegalStateException("No full document in change stream event for subpart: " + event.getOperationType() + " on " + event.getDocumentKey());

build.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@ configure(subprojects.findAll {
6868
// It's important that bosk-annotations has no deps so other projects won't hesitate to use it
6969
if (name != "bosk-annotations") {
7070
dependencies {
71+
implementation "jakarta.annotation:jakarta.annotation-api:3.0.0"
72+
7173
annotationProcessor libs.lombok
7274
compileOnly libs.lombok
7375
implementation libs.slf4j.api

0 commit comments

Comments
 (0)