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

org.hcjf.cloud.impl.objects.DistributedLock Maven / Gradle / Ivy

package org.hcjf.cloud.impl.objects;

/**
 * @author javaito
 */
public class DistributedLock{

    private Long timestamp;
    private Long nanos;
    private Status status;

    public DistributedLock() {
        status = Status.UNLOCKED;
        this.timestamp = Long.MAX_VALUE;
        this.nanos = Long.MAX_VALUE;
    }

    public final Status getStatus() {
        return status;
    }

    public final void setStatus(Status status) {
        this.timestamp = System.currentTimeMillis();
        this.status = status;
        this.nanos = System.nanoTime();
    }

    public final Long getTimestamp() {
        return timestamp;
    }

    public final Long getNanos() {
        return nanos;
    }

    public enum Status {

        UNLOCKED,

        LOCKING,

        LOCKED,

        WAITING

    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy