Class Metadata Selector (.^class)
Returns the class of the Plain Old Java Object (POJO). The value might result from calling a method in a Java class or have a data type (such as String or DateTime) that DataWeave treats as a Java value, for example:
In the following Mule app flow, the Logger uses payload.^class to select the Java class of “my string”, set in the Set Payload (set-payload) component.
Mule App XML in Anypoint Studio:
<flow name=”setpayloadobjectFlow” >
<scheduler doc:name=”Scheduler” >
<scheduling-strategy >
<fixed-frequency frequency=”15″ timeUnit=”SECONDS”/>
</scheduling-strategy>
</scheduler>
<!– Set the payload to “my string”. –>
<set-payload value='”my string”‘ doc:name=”Set Payload” />
<!– Select the class to which “my string” belongs. –>
<logger level=”INFO” doc:name=”Logger” message=”#[payload.^class]”/>
</flow>
The Studio console output shows that the payload string belongs to the class java.lang.String.
Console Output in Anypoint Studio:
INFO 2019-04-20 16:10:03,075 [[MuleRuntime].cpuLight.08:
[setpayloadobject].setpayloadobjectFlow.CPU_LITE @6447187e]
[event: 6da29400-63c1-11e9-98e0-8c8590a99d48]
org.mule.runtime.core.internal.processor.LoggerMessageProcessor:
java.lang.String
If you like my post please follow me to read my latest post on programming and technology.
You are given a stream of elements that is too large to fit into memory.…
The formula for the area of a circle is given by πr². Use the Monte…
Given an integer k and a string s, write a function to determine the length…
There is a staircase with N steps, and you can ascend either 1 step or…
Build an autocomplete system that, given a query string s and a set of possible…
Design a job scheduler that accepts a function f and an integer n. The scheduler…