/* * Copyright @ 2013 CurisTEC, S.A.S. All Rights Reserved. */ package net.curisit.securis.db; import net.curisit.securis.db.common.CodedEnum; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; /** * PackStatus *

* Enumerates possible pack lifecycle statuses. JSON representation is the short code. * See: https://redmine.curistec.com/projects/securis/wiki/LicensesServerManagement * * @author JRA * Last reviewed by JRA on Oct 5, 2025. */ public enum PackStatus implements CodedEnum { // Available status for the pack CREATED("CR"), ACTIVE("AC"), ON_HOLD("OH"), EXPIRED("EX"), CANCELLED("CA"); private final String code; /** * PackStatus

* Constructor * * @param code */ PackStatus(String code) { this.code = code; } /** * getCode

* Short code stored in DB / used in JSON. * * @return packCode */ @Override public String getCode() { return code; } /** * valueFromCode

* Factory method from short code. * * @param packCode * @return packStatus */ @JsonCreator public static PackStatus valueFromCode(String code) { for (PackStatus ps : PackStatus.values()) { if (ps.code.equals(code)) return ps; } return null; } /** * getName

* Expose short code as JSON value. * * @return name */ @JsonValue public String getName() { return this.code; } }