package io.everitoken.sdk.java; import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; public class Symbol { public static Symbol Evt; static { Evt = Symbol.of(1, 5); } private final int precision; private final int id; private Symbol(int id, int precision) { this.precision = precision; this.id = id; } @NotNull @Contract("_, _ -> new") public static Symbol of(int id, int precision) { if (precision >= 18) { throw new IllegalArgumentException("Precision of symbol must be less than 18"); } return new Symbol(id, precision); } public int getPrecision() { return precision; } public int getId() { return id; } @Override public String toString() { return String.format("%d,S#%d", precision, id); } }