44 lines
789 B
Java
44 lines
789 B
Java
package de.ph87.tools.common.uuid;
|
|
|
|
import lombok.Getter;
|
|
import lombok.NonNull;
|
|
|
|
import java.util.UUID;
|
|
|
|
@Getter
|
|
public abstract class AbstractUuid {
|
|
|
|
public final String uuid;
|
|
|
|
@SuppressWarnings("unused") // used by lombok @NoArgsConstructor
|
|
protected AbstractUuid() {
|
|
this(UUID.randomUUID().toString());
|
|
}
|
|
|
|
protected AbstractUuid(@NonNull final String uuid) {
|
|
if (uuid.length() != 36) {
|
|
throw new RuntimeException();
|
|
}
|
|
this.uuid = uuid;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return uuid;
|
|
}
|
|
|
|
@Override
|
|
public int hashCode() {
|
|
return uuid.hashCode();
|
|
}
|
|
|
|
@Override
|
|
public boolean equals(final Object obj) {
|
|
if (obj instanceof final AbstractUuid casted) {
|
|
return uuid.equals(casted.uuid);
|
|
}
|
|
return false;
|
|
}
|
|
|
|
}
|