File tree Expand file tree Collapse file tree 2 files changed +55
-0
lines changed
objectbox-java-api/src/main/java/io/objectbox/annotation Expand file tree Collapse file tree 2 files changed +55
-0
lines changed Original file line number Diff line number Diff line change
1
+ package io .objectbox .annotation ;
2
+
3
+ /**
4
+ * Use with {@link Type @Type} to override how a property value is stored and interpreted in the database.
5
+ */
6
+ public enum DatabaseType {
7
+
8
+ /**
9
+ * Use with 64-bit long properties to store them as high precision time
10
+ * representing nanoseconds since 1970-01-01 (unix epoch).
11
+ * <p>
12
+ * By default, a 64-bit long value is interpreted as time in milliseconds (a Date).
13
+ */
14
+ DateNano
15
+
16
+ }
Original file line number Diff line number Diff line change
1
+ /*
2
+ * Copyright 2019 ObjectBox Ltd. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ package io .objectbox .annotation ;
18
+
19
+ import java .lang .annotation .ElementType ;
20
+ import java .lang .annotation .Retention ;
21
+ import java .lang .annotation .RetentionPolicy ;
22
+ import java .lang .annotation .Target ;
23
+
24
+ /**
25
+ * Use on a property to override how its value is stored and interpreted in the database.
26
+ * <p>
27
+ * For example to change a long to be interpreted as nanoseconds instead of milliseconds:
28
+ * <pre>
29
+ * @Type(DatabaseType.DateNano)
30
+ * public long timeInNanos;
31
+ * </pre>
32
+ */
33
+ @ Retention (RetentionPolicy .CLASS )
34
+ @ Target ({ElementType .FIELD })
35
+ public @interface Type {
36
+
37
+ DatabaseType value ();
38
+
39
+ }
You can’t perform that action at this time.
0 commit comments