2023-12-06 11:02:42 +05:30

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);
}
}