001package gudusoft.gsqlparser.lineage2.contract; 002 003/** 004 * CASE/IIF branch marker on an edge (lineage2-contract.md ยง4, D-12). 005 * The JSON values are lowercase ({@code "condition"} / {@code "value"}); 006 * use {@link #jsonValue()} when serializing. 007 * 008 * <p>Internal API: not part of the public gsqlparser surface. 009 */ 010public enum CaseBranch { 011 CONDITION("condition"), 012 VALUE("value"); 013 014 private final String jsonValue; 015 016 CaseBranch(String jsonValue) { 017 this.jsonValue = jsonValue; 018 } 019 020 /** The exact lowercase string emitted in contract JSON. */ 021 public String jsonValue() { 022 return jsonValue; 023 } 024}