Skip to content

Commit 5434e80

Browse files
committed
Add final to public API (neo4j#1293)
1 parent 9e55de7 commit 5434e80

24 files changed

+907
-35
lines changed

driver/clirr-ignored-differences.xml

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -371,4 +371,90 @@
371371
<method>org.neo4j.driver.Driver routingDriver(java.lang.Iterable, org.neo4j.driver.AuthToken, org.neo4j.driver.Config)</method>
372372
</difference>
373373

374+
<difference>
375+
<className>org/neo4j/driver/AuthTokens</className>
376+
<differenceType>3003</differenceType>
377+
</difference>
378+
379+
<difference>
380+
<className>org/neo4j/driver/GraphDatabase</className>
381+
<differenceType>3003</differenceType>
382+
</difference>
383+
384+
<difference>
385+
<className>org/neo4j/driver/Query</className>
386+
<differenceType>3003</differenceType>
387+
</difference>
388+
389+
<difference>
390+
<className>org/neo4j/driver/Records</className>
391+
<differenceType>3003</differenceType>
392+
</difference>
393+
394+
<difference>
395+
<className>org/neo4j/driver/Driver</className>
396+
<differenceType>7012</differenceType>
397+
<method>org.neo4j.driver.EagerQueryResult query(java.lang.String)</method>
398+
</difference>
399+
400+
<difference>
401+
<className>org/neo4j/driver/Driver</className>
402+
<differenceType>7012</differenceType>
403+
<method>org.neo4j.driver.EagerQueryResult query(java.lang.String, java.util.Map)</method>
404+
</difference>
405+
406+
<difference>
407+
<className>org/neo4j/driver/Driver</className>
408+
<differenceType>7012</differenceType>
409+
<method>org.neo4j.driver.EagerQueryResult query(java.lang.String, java.util.Map, org.neo4j.driver.DriverQueryConfig)</method>
410+
</difference>
411+
412+
<difference>
413+
<className>org/neo4j/driver/Driver</className>
414+
<differenceType>7012</differenceType>
415+
<method>org.neo4j.driver.EagerQueryResult query(java.lang.String, org.neo4j.driver.DriverQueryConfig)</method>
416+
</difference>
417+
418+
<difference>
419+
<className>org/neo4j/driver/Driver</className>
420+
<differenceType>7012</differenceType>
421+
<method>org.neo4j.driver.EagerQueryResult query(java.lang.String, org.neo4j.driver.ClusterMemberAccess)</method>
422+
</difference>
423+
424+
<difference>
425+
<className>org/neo4j/driver/Driver</className>
426+
<differenceType>7012</differenceType>
427+
<method>org.neo4j.driver.EagerQueryResult query(java.lang.String, java.util.Map, org.neo4j.driver.ClusterMemberAccess)</method>
428+
</difference>
429+
430+
<difference>
431+
<className>org/neo4j/driver/Driver</className>
432+
<differenceType>7012</differenceType>
433+
<method>org.neo4j.driver.EagerQueryResult query(org.neo4j.driver.Query, org.neo4j.driver.ClusterMemberAccess)</method>
434+
</difference>
435+
436+
<difference>
437+
<className>org/neo4j/driver/Driver</className>
438+
<differenceType>7012</differenceType>
439+
<method>org.neo4j.driver.EagerQueryResult query(org.neo4j.driver.Query)</method>
440+
</difference>
441+
442+
<difference>
443+
<className>org/neo4j/driver/Driver</className>
444+
<differenceType>7012</differenceType>
445+
<method>org.neo4j.driver.EagerQueryResult query(org.neo4j.driver.Query, org.neo4j.driver.DriverQueryConfig)</method>
446+
</difference>
447+
448+
<difference>
449+
<className>org/neo4j/driver/Driver</className>
450+
<differenceType>7012</differenceType>
451+
<method>java.lang.Object execute(org.neo4j.driver.TransactionCallback, org.neo4j.driver.ClusterMemberAccess)</method>
452+
</difference>
453+
454+
<difference>
455+
<className>org/neo4j/driver/Driver</className>
456+
<differenceType>7012</differenceType>
457+
<method>java.lang.Object execute(org.neo4j.driver.TransactionCallback, org.neo4j.driver.DriverTransactionConfig)</method>
458+
</difference>
459+
374460
</differences>

driver/src/main/java/org/neo4j/driver/AuthTokens.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
* @see GraphDatabase#driver(String, AuthToken)
3939
* @since 1.0
4040
*/
41-
public class AuthTokens {
41+
public final class AuthTokens {
4242
private AuthTokens() {}
4343

4444
/**

driver/src/main/java/org/neo4j/driver/BookmarkManagerConfig.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ public Optional<BookmarksSupplier> bookmarksSupplier() {
7878
/**
7979
* Builder used to configure {@link BookmarkManagerConfig} which will be used to create a bookmark manager.
8080
*/
81-
public static class BookmarkManagerConfigBuilder {
81+
public static final class BookmarkManagerConfigBuilder {
8282
private Map<String, Set<Bookmark>> initialBookmarks = Collections.emptyMap();
8383
private BiConsumer<String, Set<Bookmark>> bookmarksConsumer;
8484
private BookmarksSupplier bookmarksSupplier;

driver/src/main/java/org/neo4j/driver/BookmarkManagers.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,15 @@
2323
/**
2424
* Setups new instances of {@link BookmarkManager}.
2525
*/
26-
public interface BookmarkManagers {
26+
public final class BookmarkManagers {
27+
private BookmarkManagers() {}
2728
/**
2829
* Setups a new instance of bookmark manager that can be used in {@link org.neo4j.driver.Config.ConfigBuilder#withBookmarkManager(BookmarkManager)}.
2930
*
3031
* @param config the bookmark manager configuration
3132
* @return the bookmark manager
3233
*/
33-
static BookmarkManager defaultManager(BookmarkManagerConfig config) {
34+
public static BookmarkManager defaultManager(BookmarkManagerConfig config) {
3435
return new Neo4jBookmarkManager(
3536
config.initialBookmarks(),
3637
config.bookmarksConsumer().orElse(null),
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/*
2+
* Copyright (c) "Neo4j"
3+
* Neo4j Sweden AB [http://neo4j.com]
4+
*
5+
* This file is part of Neo4j.
6+
*
7+
* Licensed under the Apache License, Version 2.0 (the "License");
8+
* you may not use this file except in compliance with the License.
9+
* You may obtain a copy of the License at
10+
*
11+
* http://www.apache.org/licenses/LICENSE-2.0
12+
*
13+
* Unless required by applicable law or agreed to in writing, software
14+
* distributed under the License is distributed on an "AS IS" BASIS,
15+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16+
* See the License for the specific language governing permissions and
17+
* limitations under the License.
18+
*/
19+
package org.neo4j.driver;
20+
21+
public enum ClusterMemberAccess {
22+
AUTO,
23+
READERS,
24+
WRITERS;
25+
}

driver/src/main/java/org/neo4j/driver/Config.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070
* @since 1.0
7171
*/
7272
@Immutable
73-
public class Config implements Serializable {
73+
public final class Config implements Serializable {
7474
@Serial
7575
private static final long serialVersionUID = -4496545746399601108L;
7676

@@ -268,7 +268,7 @@ public Optional<BookmarkManager> bookmarkManager() {
268268
/**
269269
* Used to build new config instances
270270
*/
271-
public static class ConfigBuilder {
271+
public static final class ConfigBuilder {
272272
private Logging logging = DEV_NULL_LOGGING;
273273
private boolean logLeakedSessions;
274274
private int maxConnectionPoolSize = PoolSettings.DEFAULT_MAX_CONNECTION_POOL_SIZE;
@@ -702,7 +702,7 @@ public Config build() {
702702
/**
703703
* Control how the driver determines if it can trust the encryption certificates provided by the Neo4j instance it is connected to.
704704
*/
705-
public static class TrustStrategy implements Serializable {
705+
public static final class TrustStrategy implements Serializable {
706706
@Serial
707707
private static final long serialVersionUID = -1631888096243987740L;
708708

driver/src/main/java/org/neo4j/driver/Driver.java

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
*/
1919
package org.neo4j.driver;
2020

21+
import java.util.Collections;
22+
import java.util.Map;
2123
import java.util.concurrent.CompletionStage;
2224
import org.neo4j.driver.async.AsyncSession;
2325
import org.neo4j.driver.exceptions.ClientException;
@@ -70,6 +72,64 @@ public interface Driver extends AutoCloseable {
7072
*/
7173
boolean isEncrypted();
7274

75+
// todo
76+
default EagerQueryResult query(String query) {
77+
return query(query, Collections.emptyMap());
78+
}
79+
80+
// todo
81+
default EagerQueryResult query(String query, Map<String, Object> parameters) {
82+
return query(query, parameters, DriverQueryConfig.builder().build());
83+
}
84+
85+
// todo
86+
default EagerQueryResult query(String query, Map<String, Object> parameters, DriverQueryConfig config) {
87+
return query(new Query(query, parameters), config);
88+
}
89+
90+
// todo
91+
default EagerQueryResult query(String query, DriverQueryConfig config) {
92+
return query(new Query(query, Collections.emptyMap()), config);
93+
}
94+
95+
// todo
96+
default EagerQueryResult query(String query, ClusterMemberAccess access) {
97+
return query(query, Collections.emptyMap(), access);
98+
}
99+
100+
// todo
101+
default EagerQueryResult query(String query, Map<String, Object> parameters, ClusterMemberAccess access) {
102+
return query(
103+
new Query(query, parameters),
104+
DriverQueryConfig.builder().withClusterMemberAccess(access).build());
105+
}
106+
107+
// todo
108+
default EagerQueryResult query(Query query, ClusterMemberAccess access) {
109+
return query(
110+
query,
111+
DriverQueryConfig.builder().withClusterMemberAccess(access).build());
112+
}
113+
114+
// todo
115+
default EagerQueryResult query(Query query) {
116+
return query(query, DriverQueryConfig.builder().build());
117+
}
118+
119+
// todo
120+
EagerQueryResult query(Query query, DriverQueryConfig config);
121+
122+
// todo
123+
default <T> T execute(TransactionCallback<T> callback, ClusterMemberAccess access) {
124+
var config = DriverTransactionConfig.builder()
125+
.withClusterMemberAccess(access)
126+
.build();
127+
return execute(callback, config);
128+
}
129+
130+
// todo
131+
<T> T execute(TransactionCallback<T> callback, DriverTransactionConfig config);
132+
73133
/**
74134
* Create a new general purpose {@link Session} with default {@link SessionConfig session configuration}.
75135
* <p>

0 commit comments

Comments
 (0)