]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.api.uuid/src/org/argeo/api/uuid/NativeUuidFactory.java
Native UUID factory fully implemented.
[lgpl/argeo-commons.git] / org.argeo.api.uuid / src / org / argeo / api / uuid / NativeUuidFactory.java
1 package org.argeo.api.uuid;
2
3 import java.util.UUID;
4
5 /** An {@link UuidFactory} based on a native library. */
6 public class NativeUuidFactory implements UuidFactory, TypedUuidFactory {
7 static {
8 System.loadLibrary("Java_org_argeo_api_uuid");
9 }
10
11 @Override
12 public UUID get() {
13 return timeUUID();
14 }
15
16 @Override
17 public native UUID timeUUID();
18
19 @Override
20 public native UUID nameUUIDv5(UUID namespace, byte[] data);
21
22 @Override
23 public native UUID nameUUIDv3(UUID namespace, byte[] data);
24
25 @Override
26 public native UUID randomUUIDStrong();
27
28 @Override
29 public UUID randomUUIDWeak() {
30 return randomUUIDStrong();
31 }
32
33 }