Tools/src/main/java/de/ph87/tools/common/uuid/AbstractUuid.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;
}
}