LockState.java
package org.sanmibuh.tedee.lock.domain.vo;
import org.sanmibuh.tedee.lock.domain.exception.InvalidLockStateException;
public enum LockState {
UNCALIBRATED(0),
CALIBRATION(1),
OPEN(2),
PARTIALLY_OPEN(3),
OPENING(4),
CLOSING(5),
CLOSED(6),
PULL_SPRING(7),
PULLING(8),
UNKNOWN(9),
UNPULLING(255);
private final int bridgeCode;
LockState(final int bridgeCode) {
this.bridgeCode = bridgeCode;
}
public static LockState fromBridgeCode(final int bridgeCode) {
for (final var state : values()) {
if (state.bridgeCode == bridgeCode) {
return state;
}
}
throw new InvalidLockStateException(bridgeCode);
}
}