Skip to content

Commit bcf7e85

Browse files
michael-simonsmeistermeier
authored andcommitted
Use instanceof-pattern-matching and avoid additional casts.
1 parent c905591 commit bcf7e85

8 files changed

+34
-35
lines changed

src/main/java/org/springframework/data/neo4j/repository/query/Neo4jNestedMapEntityWriter.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ private void addRelations(Map<String, Object> sink, Neo4jPersistentEntity<?> ent
158158
// Not using the Mapping support here so that we don't have to deal with the nested array lists.
159159
Collection<?> unifiedView = Optional
160160
.ofNullable(context.getValue())
161-
.map(v -> v instanceof Collection ? (Collection<?>) v : Collections.singletonList(v))
161+
.map(v -> v instanceof Collection col ? col : Collections.singletonList(v))
162162
.orElseGet(Collections::emptyList);
163163

164164
if (property.isDynamicAssociation()) {
@@ -207,9 +207,8 @@ private void addRelations(Map<String, Object> sink, Neo4jPersistentEntity<?> ent
207207

208208
private Function<Map.Entry<?, ?>, Stream<? extends Map.Entry<?, ?>>> intoSingleCollectionEntries() {
209209
return e -> {
210-
if (e.getValue() instanceof Collection) {
211-
return ((Collection<?>) e.getValue()).stream()
212-
.map(v -> new AbstractMap.SimpleEntry<>(e.getKey(), v));
210+
if (e.getValue() instanceof Collection<?> col) {
211+
return col.stream().map(v -> new AbstractMap.SimpleEntry<>(e.getKey(), v));
213212
} else {
214213
return Stream.of(e);
215214
}
@@ -218,8 +217,8 @@ private void addRelations(Map<String, Object> sink, Neo4jPersistentEntity<?> ent
218217

219218
private Function<Object, Stream<? extends Map.Entry<?, ?>>> intoSingleMapEntries() {
220219
return e -> {
221-
if (e instanceof Map) {
222-
return ((Map<?, ?>) e).entrySet().stream();
220+
if (e instanceof Map<?, ?> map) {
221+
return map.entrySet().stream();
223222
} else {
224223
return Stream.of((Map.Entry<?, ?>) e);
225224
}

src/main/java/org/springframework/data/neo4j/repository/query/Neo4jQuerySupport.java

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -165,28 +165,28 @@ final Object convertParameter(Object parameter, @Nullable Neo4jPersistentPropert
165165

166166
if (parameter == null) {
167167
return Values.NULL;
168-
} else if (parameter instanceof Range) {
169-
return convertRange((Range) parameter);
170-
} else if (parameter instanceof Distance) {
171-
return calculateDistanceInMeter((Distance) parameter);
172-
} else if (parameter instanceof Circle) {
173-
return convertCircle((Circle) parameter);
174-
} else if (parameter instanceof Instant) {
175-
return ((Instant) parameter).atOffset(ZoneOffset.UTC);
176-
} else if (parameter instanceof Box) {
177-
return convertBox((Box) parameter);
178-
} else if (parameter instanceof BoundingBox) {
179-
return convertBoundingBox((BoundingBox) parameter);
168+
} else if (parameter instanceof Range v) {
169+
return convertRange(v);
170+
} else if (parameter instanceof Distance v) {
171+
return calculateDistanceInMeter(v);
172+
} else if (parameter instanceof Circle v) {
173+
return convertCircle(v);
174+
} else if (parameter instanceof Instant v) {
175+
return v.atOffset(ZoneOffset.UTC);
176+
} else if (parameter instanceof Box v) {
177+
return convertBox(v);
178+
} else if (parameter instanceof BoundingBox v) {
179+
return convertBoundingBox(v);
180180
}
181181

182-
if (parameter instanceof Collection) {
183-
Class<?> type = TemplateSupport.findCommonElementType((Collection) parameter);
182+
if (parameter instanceof Collection<?> col) {
183+
Class<?> type = TemplateSupport.findCommonElementType(col);
184184
if (type != null && mappingContext.hasPersistentEntityFor(type)) {
185185

186186
EntityWriter<Object, Map<String, Object>> objectMapEntityWriter = Neo4jNestedMapEntityWriter
187187
.forContext(mappingContext);
188188

189-
return ((Collection<?>) parameter).stream().map(v -> {
189+
return col.stream().map(v -> {
190190
Map<String, Object> result = new HashMap<>();
191191
objectMapEntityWriter.write(v, result);
192192
return result;

src/main/java/org/springframework/data/neo4j/repository/query/Neo4jSpelSupport.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,10 @@ public final class Neo4jSpelSupport {
6262
public static LiteralReplacement orderBy(@Nullable Object arg) {
6363

6464
Sort sort = null;
65-
if (arg instanceof Pageable) {
66-
sort = ((Pageable) arg).getSort();
67-
} else if (arg instanceof Sort) {
68-
sort = (Sort) arg;
65+
if (arg instanceof Pageable v) {
66+
sort = v.getSort();
67+
} else if (arg instanceof Sort v) {
68+
sort = v;
6969
} else if (arg != null) {
7070
throw new IllegalArgumentException(arg.getClass() + " is not a valid order criteria.");
7171
}

src/main/java/org/springframework/data/neo4j/repository/query/OptionalUnwrappingConverter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ enum OptionalUnwrappingConverter implements Converter<Object, Object> {
3030

3131
@Override
3232
public Object convert(Object source) {
33-
if (source instanceof Optional) {
34-
return ((Optional<?>) source).orElse(null);
33+
if (source instanceof Optional<?> v) {
34+
return v.orElse(null);
3535
}
3636
return source;
3737
}

src/main/java/org/springframework/data/neo4j/repository/query/QuerydslNeo4jPredicateExecutor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,11 +131,11 @@ public boolean exists(Predicate predicate) {
131131
@Override
132132
public <S extends T, R> R findBy(Predicate predicate, Function<FetchableFluentQuery<S>, R> queryFunction) {
133133

134-
if (this.neo4jOperations instanceof FluentFindOperation) {
134+
if (this.neo4jOperations instanceof FluentFindOperation ops) {
135135
@SuppressWarnings("unchecked") // defaultResultType will be a supertype of S and at this stage, the same.
136136
FetchableFluentQuery<S> fluentQuery =
137137
(FetchableFluentQuery<S>) new FetchableFluentQueryByPredicate<>(predicate, metaData, metaData.getType(),
138-
(FluentFindOperation) this.neo4jOperations, this::count, this::exists);
138+
ops, this::count, this::exists);
139139
return queryFunction.apply(fluentQuery);
140140
}
141141
throw new UnsupportedOperationException(

src/main/java/org/springframework/data/neo4j/repository/query/ReactiveQuerydslNeo4jPredicateExecutor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,10 +130,10 @@ public Mono<Boolean> exists(Predicate predicate) {
130130
@Override
131131
public <S extends T, R, P extends Publisher<R>> P findBy(Predicate predicate, Function<ReactiveFluentQuery<S>, P> queryFunction) {
132132

133-
if (this.neo4jOperations instanceof ReactiveFluentFindOperation) {
133+
if (this.neo4jOperations instanceof ReactiveFluentFindOperation ops) {
134134
@SuppressWarnings("unchecked") // defaultResultType will be a supertype of S and at this stage, the same.
135135
ReactiveFluentQuery<S> fluentQuery = (ReactiveFluentQuery<S>) new ReactiveFluentQueryByPredicate<>(predicate, metaData, metaData.getType(),
136-
(ReactiveFluentFindOperation) this.neo4jOperations, this::count, this::exists);
136+
ops, this::count, this::exists);
137137
return queryFunction.apply(fluentQuery);
138138
}
139139
throw new UnsupportedOperationException(

src/main/java/org/springframework/data/neo4j/repository/query/SimpleQueryByExampleExecutor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,9 +112,9 @@ public <S extends T> boolean exists(Example<S> example) {
112112
@Override
113113
public <S extends T, R> R findBy(Example<S> example, Function<FetchableFluentQuery<S>, R> queryFunction) {
114114

115-
if (this.neo4jOperations instanceof FluentFindOperation) {
115+
if (this.neo4jOperations instanceof FluentFindOperation ops) {
116116
FetchableFluentQuery<S> fluentQuery = new FetchableFluentQueryByExample<>(example, example.getProbeType(),
117-
mappingContext, (FluentFindOperation) this.neo4jOperations, this::count, this::exists);
117+
mappingContext, ops, this::count, this::exists);
118118
return queryFunction.apply(fluentQuery);
119119
}
120120
throw new UnsupportedOperationException(

src/main/java/org/springframework/data/neo4j/repository/query/SimpleReactiveQueryByExampleExecutor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,9 @@ public <S extends T> Mono<Boolean> exists(Example<S> example) {
9696

9797
@Override
9898
public <S extends T, R, P extends Publisher<R>> P findBy(Example<S> example, Function<ReactiveFluentQuery<S>, P> queryFunction) {
99-
if (this.neo4jOperations instanceof ReactiveFluentFindOperation) {
99+
if (this.neo4jOperations instanceof ReactiveFluentFindOperation ops) {
100100
ReactiveFluentQuery<S> fluentQuery = new ReactiveFluentQueryByExample<>(example, example.getProbeType(),
101-
mappingContext, (ReactiveFluentFindOperation) this.neo4jOperations, this::count, this::exists);
101+
mappingContext, ops, this::count, this::exists);
102102
return queryFunction.apply(fluentQuery);
103103
}
104104
throw new UnsupportedOperationException(

0 commit comments

Comments
 (0)