package com.sequenceiq.periscope.model; public class Priority implements Comparable<Priority> { public static final Priority HIGH = Priority.of(0); public static final Priority NORMAL = Priority.of(100); public static final Priority LOW = Priority.of(Integer.MAX_VALUE); private final int value; private Priority(int value) { this.value = value; } public int getValue() { return value; } @Override public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } else if (this == o) { return true; } Priority priority = (Priority) o; return value == priority.value; } @Override public int hashCode() { return value; } public static Priority of(int value) { return new Priority(value < 0 ? 0 : value); } @Override public int compareTo(Priority o) { return Integer.compare(value, o.value); } }