com.ironcorelabs.sdk.UserOrGroupId Maven / Gradle / Ivy
// Automatically generated by rust_swig
package com.ironcorelabs.sdk;
/**
* Either a user id or a group id
*/
public final class UserOrGroupId {
private UserOrGroupId() {}
public final String getId() {
String ret = do_getId(mNativeObj);
return ret;
}
private static native String do_getId(long self);
public final boolean isUser() {
boolean ret = do_isUser(mNativeObj);
return ret;
}
private static native boolean do_isUser(long self);
public final boolean isGroup() {
boolean ret = do_isGroup(mNativeObj);
return ret;
}
private static native boolean do_isGroup(long self);
public synchronized void delete() {
if (mNativeObj != 0) {
do_delete(mNativeObj);
mNativeObj = 0;
}
}
@Override
protected void finalize() throws Throwable {
try {
delete();
}
finally {
super.finalize();
}
}
private static native void do_delete(long me);
/*package*/ UserOrGroupId(InternalPointerMarker marker, long ptr) {
assert marker == InternalPointerMarker.RAW_PTR;
this.mNativeObj = ptr;
}
/*package*/ long mNativeObj;
/**
* This implementation calls native code, which means it's relatively slow.
*/
@Override
public int hashCode() {
return this.getId().hashCode() * Boolean.hashCode(this.isUser());
}
public boolean equals(Object obj) {
if(obj instanceof UserOrGroupId){
UserOrGroupId uog = (UserOrGroupId) obj;
return uog.getId().equals(this.getId()) &&
uog.isUser() == this.isUser();
}
return false;
}
}