dsntk-examples 0.3.0

ÐecisionToolkit | Examples
Documentation
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<definitions namespace="http://www.montera.com.au/spec/DMN/0076-feel-external-java"
             name="0076-feel-external-java"
             id="_8c5d6629-34e4-4abc-887a-91a0a9a79da2"
             xmlns="https://www.omg.org/spec/DMN/20191111/MODEL/">
    <description>FEEL external Java functions</description>

    <decision name="boxed_001" id="_boxed_001">
        <variable name="boxed_001"/>
        <context>
            <contextEntry>
                <variable name="maxDouble"/>
                <functionDefinition kind="Java">
                    <formalParameter typeRef="number" name="d1"/>
                    <formalParameter typeRef="number" name="d2"/>
                    <context>
                        <contextEntry>
                            <variable name="class"/>
                            <literalExpression>
                                <text>"java.lang.Math"</text>
                            </literalExpression>
                        </contextEntry>
                        <contextEntry>
                            <variable name="method signature"/>
                            <literalExpression>
                                <text>"max(double, double)"</text>
                            </literalExpression>
                        </contextEntry>
                    </context>
                </functionDefinition>
            </contextEntry>
            <contextEntry>
                <literalExpression>
                    <text>maxDouble(123,456)</text>
                </literalExpression>
            </contextEntry>
        </context>
    </decision>

    <decision name="literal_001" id="_literal_001">
        <variable name="literal_001"/>
        <context>
            <contextEntry>
                <variable name="cos"/>
                <literalExpression>
                    <text>function(n1) external { java: { class: "java.lang.Math", method     signature: "cos(double)"}}</text>
                </literalExpression>
            </contextEntry>
            <contextEntry>
                <literalExpression>
                    <text>cos(123)</text>
                </literalExpression>
            </contextEntry>
        </context>
    </decision>

    <decision name="incorrect_001" id="_incorrect_001">
        <variable name="incorrect_001"/>
        <context>
            <contextEntry>
                <variable name="mathFoo"/>
                <literalExpression>
                    <text>function(n2) external {java:{class:"java.lang.Math",method signature:"foo(double)"}}</text>
                </literalExpression>
            </contextEntry>
            <contextEntry>
                <literalExpression>
                    <text>mathFoo(123)</text>
                </literalExpression>
            </contextEntry>
        </context>
    </decision>

    <decision name="incorrect_002" id="_incorrect_002">
        <variable name="incorrect_002"/>
        <context>
            <contextEntry>
                <variable name="fooValueOf"/>
                <literalExpression>
                    <text>function(n3) external {java:{class:"java.lang.Foo",method signature:"valueOf(double)"}}</text>
                </literalExpression>
            </contextEntry>
            <contextEntry>
                <literalExpression>
                    <text>fooValueOf(123)</text>
                </literalExpression>
            </contextEntry>
        </context>
    </decision>

    <decision name="incorrect_003" id="_incorrect_003">
        <variable name="incorrect_003"/>
        <context>
            <contextEntry>
                <variable name="mathMaxString"/>
                <literalExpression>
                    <text>function(s1, s2) external {java:{class:"java.lang.Math",method signature:"max(java.lang.String, java.lang.String)"}}</text>
                </literalExpression>
            </contextEntry>
            <contextEntry>
                <literalExpression>
                    <text>mathMaxString("123", "456")</text>
                </literalExpression>
            </contextEntry>
        </context>
    </decision>

    <decision name="literal_002" id="_literal_002">
        <variable name="literal_002"/>
        <context>
            <contextEntry>
                <variable name="maxDouble"/>
                <literalExpression>
                    <text>function(n1,n2) external {java:{class:"java.lang.Math",method signature:"max(double,double)"}}</text>
                </literalExpression>
            </contextEntry>
            <contextEntry>
                <literalExpression>
                    <text>maxDouble(123.45,456.78)</text>
                </literalExpression>
            </contextEntry>
        </context>
    </decision>

    <decision name="literal_003" id="_literal_003">
        <variable name="literal_003"/>
        <context>
            <contextEntry>
                <variable name="max"/>
                <literalExpression>
                    <text>function(n3,n4) external {java:{class:"java.lang.Math",method signature:"max(double,double)"}}</text>
                </literalExpression>
            </contextEntry>
            <contextEntry>
                <literalExpression>
                    <text>max(123,456)</text>
                </literalExpression>
            </contextEntry>
        </context>
    </decision>

    <decision name="literal_004" id="_literal_004">
        <variable name="literal_004"/>
        <context>
            <contextEntry>
                <variable name="max"/>
                <literalExpression>
                    <text>function(n5,n6) external {java:{class:"java.lang.Math",method signature:"max(int,int)"}}</text>
                </literalExpression>
            </contextEntry>
            <contextEntry>
                <literalExpression>
                    <text>max(123,456)</text>
                </literalExpression>
            </contextEntry>
        </context>
    </decision>

    <decision name="literal_005" id="_literal_005">
        <variable name="literal_005"/>
        <context>
            <contextEntry>
                <variable name="valueOf"/>
                <literalExpression>
                    <text>function(s3) external {java:{class:"java.lang.Short",method signature:"valueOf(short)"}}</text>
                </literalExpression>
            </contextEntry>
            <contextEntry>
                <literalExpression>
                    <text>valueOf(123)</text>
                </literalExpression>
            </contextEntry>
        </context>
    </decision>

    <decision name="literal_006" id="_literal_006">
        <variable name="literal_006"/>
        <context>
            <contextEntry>
                <variable name="valueOf"/>
                <literalExpression>
                    <text>function(b1) external {java:{class:"java.lang.Byte",method signature:"valueOf(byte)"}}</text>
                </literalExpression>
            </contextEntry>
            <contextEntry>
                <literalExpression>
                    <text>valueOf(3)</text>
                </literalExpression>
            </contextEntry>
        </context>
    </decision>

    <decision name="literal_007" id="_literal_007">
        <variable name="literal_007"/>
        <context>
            <contextEntry>
                <variable name="valueOf"/>
                <literalExpression>
                    <text>function(c1) external {java:{class:"java.lang.String",method signature:"valueOf(char)"}}</text>
                </literalExpression>
            </contextEntry>
            <contextEntry>
                <literalExpression>
                    <text>valueOf("a")</text>
                </literalExpression>
            </contextEntry>
        </context>
    </decision>

    <decision name="literal_007_a" id="_literal_007_a">
        <variable name="literal_007_a"/>
        <context>
            <contextEntry>
                <variable name="valueOf"/>
                <literalExpression>
                    <text>function(c2) external {java:{class:"java.lang.String",method signature:"valueOf(char)"}}</text>
                </literalExpression>
            </contextEntry>
            <contextEntry>
                <literalExpression>
                    <text>valueOf("abc")</text>
                </literalExpression>
            </contextEntry>
        </context>
    </decision>

    <decision name="literal_008" id="_literal_008">
        <variable name="literal_008"/>
        <context>
            <contextEntry>
                <variable name="max"/>
                <literalExpression>
                    <text>function(n1,n2) external {java:{class:"java.lang.Math",method signature:"max(long,long)"}}</text>
                </literalExpression>
            </contextEntry>
            <contextEntry>
                <literalExpression>
                    <text>max(123,456)</text>
                </literalExpression>
            </contextEntry>
        </context>
    </decision>

    <decision name="literal_009" id="_literal_009">
        <variable name="literal_009"/>
        <context>
            <contextEntry>
                <variable name="max"/>
                <literalExpression>
                    <text>function(k1,k2) external {java:{class:"java.lang.Math",method signature:"max(float,float)"}}</text>
                </literalExpression>
            </contextEntry>
            <contextEntry>
                <literalExpression>
                    <text>max(123.46,456.78)</text>
                </literalExpression>
            </contextEntry>
        </context>
    </decision>

    <decision name="literal_010" id="_literal_010">
        <variable name="literal_010"/>
        <context>
            <contextEntry>
                <variable name="valueOf"/>
                <literalExpression>
                    <text>function(m1) external {java:{class:"java.lang.Integer",method signature:"valueOf(java.lang.String)"}}</text>
                </literalExpression>
            </contextEntry>
            <contextEntry>
                <literalExpression>
                    <text>valueOf("123")</text>
                </literalExpression>
            </contextEntry>
        </context>
    </decision>

    <decision name="literal_011" id="_literal_011">
        <variable name="literal_011"/>
        <context>
            <contextEntry>
                <variable name="valueOf"/>
                <literalExpression>
                    <text>function(r1) external {java:{class:"java.lang.Float",method signature:"valueOf(java.lang.String)"}}</text>
                </literalExpression>
            </contextEntry>
            <contextEntry>
                <literalExpression>
                    <text>valueOf("1234.56")</text>
                </literalExpression>
            </contextEntry>
        </context>
    </decision>

    <decision name="literal_012" id="_literal_012">
        <variable name="literal_012"/>
        <context>
            <contextEntry>
                <variable name="valueOf"/>
                <literalExpression>
                    <text>function(a1) external {java:{class:"java.lang.Double",method signature:"valueOf(java.lang.String)"}}</text>
                </literalExpression>
            </contextEntry>
            <contextEntry>
                <literalExpression>
                    <text>valueOf("1234.56")</text>
                </literalExpression>
            </contextEntry>
        </context>
    </decision>

    <decision name="varargs_001" id="_varargs_001">
        <variable name="varargs_001"/>
        <context>
            <contextEntry>
                <variable name="format"/>
                <literalExpression>
                    <text>function(sv1, nv1) external {java:{class:"java.lang.String",method signature:"format(java.lang.String, [Ljava.lang.Object;)"}}</text>
                </literalExpression>
            </contextEntry>
            <contextEntry>
                <literalExpression>
                    <text>format("foo %s", "bar")</text>
                </literalExpression>
            </contextEntry>
        </context>
    </decision>

</definitions>