mirror of
https://github.com/datahub-project/datahub.git
synced 2025-07-25 10:30:04 +00:00
55 lines
1.2 KiB
Java
55 lines
1.2 KiB
Java
package com.linkedin.common.urn;
|
|
|
|
public class VersionedUrn {
|
|
|
|
private final String _urn;
|
|
private final String _versionStamp;
|
|
|
|
public VersionedUrn(String urn, String versionStamp) {
|
|
_urn = urn;
|
|
_versionStamp = versionStamp;
|
|
}
|
|
|
|
public String getUrn() {
|
|
return _urn;
|
|
}
|
|
|
|
public String getVersionStamp() {
|
|
return _versionStamp;
|
|
}
|
|
|
|
@SuppressWarnings("unchecked")
|
|
@Override
|
|
public boolean equals(Object obj) {
|
|
if (obj instanceof VersionedUrn) {
|
|
VersionedUrn other = (VersionedUrn) obj;
|
|
return equals(_urn, other._urn) && equals(_versionStamp, other._versionStamp);
|
|
}
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public int hashCode() {
|
|
int h1 = _urn != null ? _urn.hashCode() : 0;
|
|
int h2 = _versionStamp != null ? _versionStamp.hashCode() : 0;
|
|
return 31 * h1 + h2;
|
|
}
|
|
|
|
@Override
|
|
public String toString() {
|
|
return "(" + _urn + " , " + _versionStamp + ")";
|
|
}
|
|
|
|
private static boolean equals(Object o1, Object o2) {
|
|
if (o1 != null) {
|
|
return o1.equals(o2);
|
|
}
|
|
return o2 == null;
|
|
}
|
|
|
|
/*convenient method*/
|
|
public static VersionedUrn of(String urn, String versionStamp) {
|
|
return new VersionedUrn(urn, versionStamp);
|
|
}
|
|
}
|