Skip to content

Commit b6445b6

Browse files
authored
added thread safety annotations (#445)
1 parent 0b8c09a commit b6445b6

20 files changed

+51
-0
lines changed

pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,12 @@
251251
<artifactId>jackson-dataformat-velocypack</artifactId>
252252
<optional>true</optional>
253253
</dependency>
254+
<dependency>
255+
<groupId>com.google.code.findbugs</groupId>
256+
<artifactId>jsr305</artifactId>
257+
<version>3.0.2</version>
258+
<scope>provided</scope>
259+
</dependency>
254260
<dependency>
255261
<groupId>ch.qos.logback</groupId>
256262
<artifactId>logback-classic</artifactId>

src/main/java/com/arangodb/ArangoCollection.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import com.arangodb.entity.*;
2424
import com.arangodb.model.*;
2525

26+
import javax.annotation.concurrent.ThreadSafe;
2627
import java.util.Collection;
2728

2829
/**
@@ -35,6 +36,7 @@
3536
* @see <a href="https://www.arangodb.com/docs/stable/http/collection.html">Documents API Documentation</a>
3637
*/
3738
@SuppressWarnings("UnusedReturnValue")
39+
@ThreadSafe
3840
public interface ArangoCollection extends ArangoSerializationAccessor {
3941

4042
/**

src/main/java/com/arangodb/ArangoDB.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
import org.slf4j.Logger;
6262
import org.slf4j.LoggerFactory;
6363

64+
import javax.annotation.concurrent.ThreadSafe;
6465
import javax.net.ssl.HostnameVerifier;
6566
import javax.net.ssl.SSLContext;
6667
import java.io.InputStream;
@@ -85,6 +86,7 @@
8586
* @author Michele Rastelli
8687
*/
8788
@SuppressWarnings("UnusedReturnValue")
89+
@ThreadSafe
8890
public interface ArangoDB extends ArangoSerializationAccessor {
8991

9092
/**

src/main/java/com/arangodb/ArangoDatabase.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import com.arangodb.model.arangosearch.AnalyzerDeleteOptions;
2828
import com.arangodb.model.arangosearch.ArangoSearchCreateOptions;
2929

30+
import javax.annotation.concurrent.ThreadSafe;
3031
import java.util.Collection;
3132
import java.util.Map;
3233

@@ -39,6 +40,7 @@
3940
* @see <a href="https://www.arangodb.com/docs/stable/http/aql-query.html">Query API Documentation</a>
4041
*/
4142
@SuppressWarnings("UnusedReturnValue")
43+
@ThreadSafe
4244
public interface ArangoDatabase extends ArangoSerializationAccessor {
4345

4446
/**

src/main/java/com/arangodb/ArangoEdgeCollection.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,16 @@
2424
import com.arangodb.entity.EdgeUpdateEntity;
2525
import com.arangodb.model.*;
2626

27+
import javax.annotation.concurrent.ThreadSafe;
28+
2729
/**
2830
* Interface for operations on ArangoDB edge collection level.
2931
*
3032
* @author Mark Vollmary
3133
* @see <a href="https://www.arangodb.com/docs/stable/http/gharial-edges.html">API Documentation</a>
3234
*/
3335
@SuppressWarnings("UnusedReturnValue")
36+
@ThreadSafe
3437
public interface ArangoEdgeCollection extends ArangoSerializationAccessor {
3538

3639
/**

src/main/java/com/arangodb/ArangoGraph.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import com.arangodb.model.GraphCreateOptions;
2626
import com.arangodb.model.VertexCollectionCreateOptions;
2727

28+
import javax.annotation.concurrent.ThreadSafe;
2829
import java.util.Collection;
2930

3031
/**
@@ -33,6 +34,7 @@
3334
* @author Mark Vollmary
3435
* @see <a href="https://www.arangodb.com/docs/stable/http/gharial.html">API Documentation</a>
3536
*/
37+
@ThreadSafe
3638
public interface ArangoGraph extends ArangoSerializationAccessor {
3739

3840
/**

src/main/java/com/arangodb/ArangoMetrics.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,15 @@
2020

2121
package com.arangodb;
2222

23+
import javax.annotation.concurrent.ThreadSafe;
24+
2325
/**
2426
* Interface for accessing metrics.
2527
*
2628
* @author Michele Rastelli
2729
* @since ArangoDB 3.9
2830
*/
31+
@ThreadSafe
2932
public interface ArangoMetrics {
3033
/**
3134
* @return queue time metrics

src/main/java/com/arangodb/ArangoSearch.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,16 @@
2525
import com.arangodb.model.arangosearch.ArangoSearchCreateOptions;
2626
import com.arangodb.model.arangosearch.ArangoSearchPropertiesOptions;
2727

28+
import javax.annotation.concurrent.ThreadSafe;
29+
2830
/**
2931
* Interface for operations on ArangoDB view level for ArangoSearch views.
3032
*
3133
* @author Mark Vollmary
3234
* @see <a href="https://www.arangodb.com/docs/stable/http/views.html">View API Documentation</a>
3335
* @since ArangoDB 3.4.0
3436
*/
37+
@ThreadSafe
3538
public interface ArangoSearch extends ArangoView {
3639

3740
/**

src/main/java/com/arangodb/ArangoSerializationAccessor.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,12 @@
2323
import com.arangodb.internal.util.ArangoSerializationFactory.Serializer;
2424
import com.arangodb.util.ArangoSerialization;
2525

26+
import javax.annotation.concurrent.ThreadSafe;
27+
2628
/**
2729
* @author Mark Vollmary
2830
*/
31+
@ThreadSafe
2932
public interface ArangoSerializationAccessor {
3033

3134
/**

src/main/java/com/arangodb/ArangoVertexCollection.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,15 @@
2424
import com.arangodb.entity.VertexUpdateEntity;
2525
import com.arangodb.model.*;
2626

27+
import javax.annotation.concurrent.ThreadSafe;
28+
2729
/**
2830
* Interface for operations on ArangoDB vertex collection level.
2931
*
3032
* @author Mark Vollmary
3133
* @see <a href="https://www.arangodb.com/docs/stable/http/gharial-vertices.html">API Documentation</a>
3234
*/
35+
@ThreadSafe
3336
public interface ArangoVertexCollection extends ArangoSerializationAccessor {
3437

3538
/**

0 commit comments

Comments
 (0)