All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.ironcorelabs.sdk.UserOrGroupId Maven / Gradle / Ivy

There is a newer version: 0.16.0
Show newest version
// 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;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy