com.ironcorelabs.sdk.UserDevice Maven / Gradle / Ivy
// Automatically generated by rust_swig
package com.ironcorelabs.sdk;
/**
* Metadata about a user device.
*/
public final class UserDevice {
private UserDevice() {}
/**
* Get the unique id for the device
*/
public final DeviceId getId() {
long ret = do_getId(mNativeObj);
DeviceId convRet = new DeviceId(InternalPointerMarker.RAW_PTR, ret);
return convRet;
}
private static native long do_getId(long self);
/**
* Get the devices optional non-unique readable name
*/
public final java.util.Optional getName() {
long ret = do_getName(mNativeObj);
java.util.Optional convRet;
if (ret != 0) {
convRet = java.util.Optional.of(new DeviceName(InternalPointerMarker.RAW_PTR, ret));
} else {
convRet = java.util.Optional.empty();
}
return convRet;
}
private static native long do_getName(long self);
/**
* Get the time the device was created
*/
public final java.util.Date getLastUpdated() {
long ret = do_getLastUpdated(mNativeObj);
java.util.Date convRet = new java.util.Date(ret);
return convRet;
}
private static native long do_getLastUpdated(long self);
/**
* Get the time the device was last updated
*/
public final java.util.Date getCreated() {
long ret = do_getCreated(mNativeObj);
java.util.Date convRet = new java.util.Date(ret);
return convRet;
}
private static native long do_getCreated(long self);
/**
* True if this device instance is the one that was used to make
* the API request
*/
public final boolean isCurrentDevice() {
boolean ret = do_isCurrentDevice(mNativeObj);
return ret;
}
private static native boolean do_isCurrentDevice(long self);
public final int hashCode() {
int ret = do_hashCode(mNativeObj);
return ret;
}
private static native int do_hashCode(long self);
private final boolean rustEq(UserDevice o) {
long a0 = o.mNativeObj;
boolean ret = do_rustEq(mNativeObj, a0);
JNIReachabilityFence.reachabilityFence1(o);
return ret;
}
private static native boolean do_rustEq(long self, long o);
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*/ UserDevice(InternalPointerMarker marker, long ptr) {
assert marker == InternalPointerMarker.RAW_PTR;
this.mNativeObj = ptr;
}
/*package*/ long mNativeObj;
public boolean equals(Object obj) {
if(obj instanceof UserDevice){
UserDevice other = (UserDevice) obj;
return other.rustEq(this);
}
return false;
}
}