forked from TrueCloudLab/frostfs-sdk-java
44 lines
934 B
Java
44 lines
934 B
Java
package info.frostfs.sdk.dto;
|
|
|
|
import java.util.UUID;
|
|
|
|
import static info.frostfs.sdk.UUIDExtension.asBytes;
|
|
import static info.frostfs.sdk.UUIDExtension.asUuid;
|
|
import static java.util.Objects.isNull;
|
|
|
|
public class SplitId {
|
|
private final UUID id;
|
|
|
|
public SplitId(UUID uuid) {
|
|
this.id = uuid;
|
|
}
|
|
|
|
public SplitId() {
|
|
this.id = UUID.randomUUID();
|
|
}
|
|
|
|
private SplitId(byte[] binary) {
|
|
this.id = asUuid(binary);
|
|
}
|
|
|
|
private SplitId(String str) {
|
|
this.id = UUID.fromString(str);
|
|
}
|
|
|
|
public static SplitId createFromBinary(byte[] binaryData) {
|
|
return new SplitId(binaryData);
|
|
}
|
|
|
|
public static SplitId createFromString(String stringData) {
|
|
return new SplitId(stringData);
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return id.toString();
|
|
}
|
|
|
|
public byte[] toBinary() {
|
|
return isNull(id) ? null : asBytes(id);
|
|
}
|
|
}
|