001package gudusoft.gsqlparser.lineage2.contract; 002 003/** 004 * The frozen identity-layer triple carried on every edge 005 * (lineage2-contract.md ยง3, rev 3). Values are produced by 006 * {@link GuidEncoder}. 007 * 008 * <p>Internal API: not part of the public gsqlparser surface. 009 */ 010public final class EdgeIdentity { 011 012 private final String factGuid; 013 private final String variantGuid; 014 private final String occurrenceGuid; 015 016 public EdgeIdentity(String factGuid, String variantGuid, String occurrenceGuid) { 017 if (factGuid == null || variantGuid == null || occurrenceGuid == null) { 018 throw new IllegalArgumentException( 019 "factGuid, variantGuid, and occurrenceGuid must not be null"); 020 } 021 this.factGuid = factGuid; 022 this.variantGuid = variantGuid; 023 this.occurrenceGuid = occurrenceGuid; 024 } 025 026 public String getFactGuid() { 027 return factGuid; 028 } 029 030 public String getVariantGuid() { 031 return variantGuid; 032 } 033 034 public String getOccurrenceGuid() { 035 return occurrenceGuid; 036 } 037}