default String getDiscriminatorName()

in code-generation/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/terms/Term.java [65:94]


    default String getDiscriminatorName() {
        if (isLiteral()) {
            Literal literal = (Literal) this;
            if (literal instanceof NullLiteral) {
                return "null";
            } else if (literal instanceof BooleanLiteral) {
                return Boolean.toString(((BooleanLiteral) literal).getValue());
            } else if (literal instanceof NumericLiteral) {
                return ((NumericLiteral) literal).getNumber().toString();
            } else if (literal instanceof HexadecimalLiteral) {
                return ((HexadecimalLiteral) literal).getHexString();
            } else if (literal instanceof StringLiteral) {
                return ((StringLiteral) literal).getValue();
            } else if (literal instanceof VariableLiteral) {
                VariableLiteral variableLiteral = (VariableLiteral) literal;
                return variableLiteral.getVariableLiteralName();
            }
        } else if (isUnaryTerm()) {
            UnaryTerm unaryTerm = (UnaryTerm) this;
            return unaryTerm.getA().getDiscriminatorName();
        } else if (isBinaryTerm()) {
            BinaryTerm binaryTerm = (BinaryTerm) this;
            return binaryTerm.getA().getDiscriminatorName() + "_" + binaryTerm.getB().getDiscriminatorName();
        } else if (isTernaryTerm()) {
            TernaryTerm ternaryTerm = (TernaryTerm) this;
            return ternaryTerm.getA().getDiscriminatorName() + "_" + ternaryTerm.getB().getDiscriminatorName()
                    + "_" + ternaryTerm.getC().getDiscriminatorName();
        }
        return "";
    }