Skip to content

Commit 150f092

Browse files
authored
field annotations @id, @key, @Rev, @from, @to (#439)
1 parent 91503b9 commit 150f092

26 files changed

+424
-154
lines changed

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

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -660,10 +660,7 @@ public Builder setDeserializer(final ArangoDeserializer deserializer) {
660660
*
661661
* @param serialization custom serializer/deserializer
662662
* @return {@link ArangoDB.Builder}
663-
* @deprecated Use {@link com.arangodb.mapping.ArangoJack} instead and register custom serializers and deserializers by implementing {@link com.fasterxml.jackson.databind.JsonSerializer} and {@link com.fasterxml.jackson.databind.JsonDeserializer}.
664-
* @see <a href="https://www.arangodb.com/docs/stable/drivers/java-reference-serialization.html#custom-serializer">Reference Documentation</a>
665663
*/
666-
@Deprecated
667664
public Builder serializer(final ArangoSerialization serialization) {
668665
setSerializer(serialization);
669666
return this;

src/main/java/com/arangodb/async/ArangoDBAsync.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -846,10 +846,7 @@ public Builder setDeserializer(final ArangoDeserializer deserializer) {
846846
*
847847
* @param serialization custom serializer/deserializer
848848
* @return {@link ArangoDBAsync.Builder}
849-
* @deprecated Use {@link com.arangodb.mapping.ArangoJack} instead and register custom serializers and deserializers by implementing {@link com.fasterxml.jackson.databind.JsonSerializer} and {@link com.fasterxml.jackson.databind.JsonDeserializer}.
850-
* @see <a href="https://www.arangodb.com/docs/stable/drivers/java-reference-serialization.html#custom-serializer">Reference Documentation</a>
851849
*/
852-
@Deprecated
853850
public Builder serializer(final ArangoSerialization serialization) {
854851
setSerializer(serialization);
855852
return this;

src/main/java/com/arangodb/entity/BaseDocument.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
package com.arangodb.entity;
2222

23-
import com.arangodb.entity.DocumentField.Type;
23+
import com.arangodb.internal.DocumentFields;
2424

2525
import java.io.Serializable;
2626
import java.util.HashMap;
@@ -33,11 +33,11 @@ public class BaseDocument implements Serializable {
3333

3434
private static final long serialVersionUID = -1824742667228719116L;
3535

36-
@DocumentField(Type.ID)
36+
@Id
3737
protected String id;
38-
@DocumentField(Type.KEY)
38+
@Key
3939
protected String key;
40-
@DocumentField(Type.REV)
40+
@Rev
4141
protected String revision;
4242
protected Map<String, Object> properties;
4343

@@ -53,15 +53,15 @@ public BaseDocument(final String key) {
5353

5454
public BaseDocument(final Map<String, Object> properties) {
5555
this();
56-
final Object tmpId = properties.remove(DocumentField.Type.ID.getSerializeName());
56+
final Object tmpId = properties.remove(DocumentFields.ID);
5757
if (tmpId != null) {
5858
id = tmpId.toString();
5959
}
60-
final Object tmpKey = properties.remove(DocumentField.Type.KEY.getSerializeName());
60+
final Object tmpKey = properties.remove(DocumentFields.KEY);
6161
if (tmpKey != null) {
6262
key = tmpKey.toString();
6363
}
64-
final Object tmpRev = properties.remove(DocumentField.Type.REV.getSerializeName());
64+
final Object tmpRev = properties.remove(DocumentFields.REV);
6565
if (tmpRev != null) {
6666
revision = tmpRev.toString();
6767
}

src/main/java/com/arangodb/entity/BaseEdgeDocument.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
package com.arangodb.entity;
2222

23-
import com.arangodb.entity.DocumentField.Type;
23+
import com.arangodb.internal.DocumentFields;
2424

2525
import java.util.Map;
2626

@@ -31,9 +31,9 @@ public class BaseEdgeDocument extends BaseDocument {
3131

3232
private static final long serialVersionUID = 6904923804449368783L;
3333

34-
@DocumentField(Type.FROM)
34+
@From
3535
private String from;
36-
@DocumentField(Type.TO)
36+
@To
3737
private String to;
3838

3939
public BaseEdgeDocument() {
@@ -54,11 +54,11 @@ public BaseEdgeDocument(final String key, final String from, final String to) {
5454

5555
public BaseEdgeDocument(final Map<String, Object> properties) {
5656
super(properties);
57-
final Object tmpFrom = properties.remove(DocumentField.Type.FROM.getSerializeName());
57+
final Object tmpFrom = properties.remove(DocumentFields.FROM);
5858
if (tmpFrom != null) {
5959
from = tmpFrom.toString();
6060
}
61-
final Object tmpTo = properties.remove(DocumentField.Type.TO.getSerializeName());
61+
final Object tmpTo = properties.remove(DocumentFields.TO);
6262
if (tmpTo != null) {
6363
to = tmpTo.toString();
6464
}

src/main/java/com/arangodb/entity/DocumentEntity.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,16 @@
2020

2121
package com.arangodb.entity;
2222

23-
import com.arangodb.entity.DocumentField.Type;
24-
2523
/**
2624
* @author Mark Vollmary
2725
*/
2826
public class DocumentEntity implements Entity {
2927

30-
@DocumentField(Type.KEY)
28+
@Key
3129
private String key;
32-
@DocumentField(Type.ID)
30+
@Id
3331
private String id;
34-
@DocumentField(Type.REV)
32+
@Rev
3533
private String rev;
3634

3735
public DocumentEntity() {

src/main/java/com/arangodb/entity/DocumentField.java

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,45 @@
2727

2828
/**
2929
* @author Mark Vollmary
30+
* @deprecated Use {@link Id}, {@link Key}, {@link Rev}, {@link From} or {@link To} instead.
3031
*/
3132
@Retention(RetentionPolicy.RUNTIME)
3233
@Target({ElementType.FIELD})
34+
@Deprecated
3335
public @interface DocumentField {
3436

37+
@Deprecated
3538
enum Type {
36-
ID("_id"), KEY("_key"), REV("_rev"), FROM("_from"), TO("_to");
39+
40+
/**
41+
* @deprecated Use {@link Id} instead.
42+
*/
43+
@Deprecated
44+
ID("_id"),
45+
46+
/**
47+
* @deprecated Use {@link Key} instead.
48+
*/
49+
@Deprecated
50+
KEY("_key"),
51+
52+
/**
53+
* @deprecated Use {@link Rev} instead.
54+
*/
55+
@Deprecated
56+
REV("_rev"),
57+
58+
/**
59+
* @deprecated Use {@link From} instead.
60+
*/
61+
@Deprecated
62+
FROM("_from"),
63+
64+
/**
65+
* @deprecated Use {@link To} instead.
66+
*/
67+
@Deprecated
68+
TO("_to");
3769

3870
private final String serializeName;
3971

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package com.arangodb.entity;
2+
3+
import com.arangodb.internal.DocumentFields;
4+
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
5+
import com.fasterxml.jackson.annotation.JsonInclude;
6+
import com.fasterxml.jackson.annotation.JsonProperty;
7+
8+
import java.lang.annotation.ElementType;
9+
import java.lang.annotation.Retention;
10+
import java.lang.annotation.RetentionPolicy;
11+
import java.lang.annotation.Target;
12+
13+
/**
14+
* @author Michele Rastelli
15+
*/
16+
// TODO: in v7 add targets ElementType.METHOD and ElementType.PARAMETER
17+
@Target(ElementType.FIELD)
18+
@Retention(RetentionPolicy.RUNTIME)
19+
@JacksonAnnotationsInside
20+
@JsonProperty(DocumentFields.FROM)
21+
@JsonInclude(JsonInclude.Include.NON_NULL)
22+
public @interface From {
23+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package com.arangodb.entity;
2+
3+
import com.arangodb.internal.DocumentFields;
4+
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
5+
import com.fasterxml.jackson.annotation.JsonInclude;
6+
import com.fasterxml.jackson.annotation.JsonProperty;
7+
8+
import java.lang.annotation.ElementType;
9+
import java.lang.annotation.Retention;
10+
import java.lang.annotation.RetentionPolicy;
11+
import java.lang.annotation.Target;
12+
13+
/**
14+
* @author Michele Rastelli
15+
*/
16+
// TODO: in v7 add targets ElementType.METHOD and ElementType.PARAMETER
17+
@Target(ElementType.FIELD)
18+
@Retention(RetentionPolicy.RUNTIME)
19+
@JacksonAnnotationsInside
20+
@JsonProperty(DocumentFields.ID)
21+
@JsonInclude(JsonInclude.Include.NON_NULL)
22+
public @interface Id {
23+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package com.arangodb.entity;
2+
3+
import com.arangodb.internal.DocumentFields;
4+
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
5+
import com.fasterxml.jackson.annotation.JsonInclude;
6+
import com.fasterxml.jackson.annotation.JsonProperty;
7+
8+
import java.lang.annotation.ElementType;
9+
import java.lang.annotation.Retention;
10+
import java.lang.annotation.RetentionPolicy;
11+
import java.lang.annotation.Target;
12+
13+
/**
14+
* @author Michele Rastelli
15+
*/
16+
// TODO: in v7 add targets ElementType.METHOD and ElementType.PARAMETER
17+
@Target(ElementType.FIELD)
18+
@Retention(RetentionPolicy.RUNTIME)
19+
@JacksonAnnotationsInside
20+
@JsonProperty(DocumentFields.KEY)
21+
@JsonInclude(JsonInclude.Include.NON_NULL)
22+
public @interface Key {
23+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package com.arangodb.entity;
2+
3+
import com.arangodb.internal.DocumentFields;
4+
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
5+
import com.fasterxml.jackson.annotation.JsonInclude;
6+
import com.fasterxml.jackson.annotation.JsonProperty;
7+
8+
import java.lang.annotation.ElementType;
9+
import java.lang.annotation.Retention;
10+
import java.lang.annotation.RetentionPolicy;
11+
import java.lang.annotation.Target;
12+
13+
/**
14+
* @author Michele Rastelli
15+
*/
16+
// TODO: in v7 add targets ElementType.METHOD and ElementType.PARAMETER
17+
@Target(ElementType.FIELD)
18+
@Retention(RetentionPolicy.RUNTIME)
19+
@JacksonAnnotationsInside
20+
@JsonProperty(DocumentFields.REV)
21+
@JsonInclude(JsonInclude.Include.NON_NULL)
22+
public @interface Rev {
23+
}

0 commit comments

Comments
 (0)