<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:10:49 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>OpenDaylight JIRA</title>
    <link>https://jira.opendaylight.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>8.20.10</version>
        <build-number>820010</build-number>
        <build-date>22-06-2022</build-date>
    </build-info>


<item>
            <title>[MDSAL-741] Capture union&apos;s stringValue() contract </title>
                <link>https://jira.opendaylight.org/browse/MDSAL-741</link>
                <project id="10137" key="MDSAL">mdsal</project>
                    <description>&lt;p&gt;Generated unions provide a stringValue() method, which acts as a utility providing a simple way to get the (mostly) canonical String representation of the union. This method is sorely undocumented and it is not captured in a Binding Spec contract.&lt;/p&gt;

&lt;p&gt;There are a few users relying on this functionality, mostly for convenience of transferring the value to somewhere which accepts Strings. The contract is meant to be reversible in that the generated union builder&apos;s (removed via &lt;a href=&quot;https://jira.opendaylight.org/browse/MDSAL-49&quot; title=&quot;Do not generate Builders for Union types&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MDSAL-49&quot;&gt;&lt;del&gt;MDSAL-49&lt;/del&gt;&lt;/a&gt;) getDefaultInstance() method can parse the string back to the union &amp;#8211; but that is not documented and generally not achievable.&lt;/p&gt;

&lt;p&gt;Unfortunately JLS lacks a way to specify static methods with an interface contract (like Haskell has), but we need to document at least the instance method contract and specify (via documentation) the expectation of having a static factory method to reconstruct the object. &lt;/p&gt;

&lt;p&gt;That static factory method (let&apos;s call it ofStringValue(String)) is the crux of &lt;a href=&quot;https://jira.opendaylight.org/browse/MDSAL-49&quot; title=&quot;Do not generate Builders for Union types&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MDSAL-49&quot;&gt;&lt;del&gt;MDSAL-49&lt;/del&gt;&lt;/a&gt;: we cannot always provide it due to the infinite extensibility around leafref/identityref/instanceidentifier and Java class visibility rules. We therefore should only provide this contract for unions which are decidedly simple type, e.g. all their constituents boil down to built-in types or ValueObjects with static typing.&lt;/p&gt;</description>
                <environment></environment>
        <key id="35431">MDSAL-741</key>
            <summary>Capture union&apos;s stringValue() contract </summary>
                <type id="10100" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10310&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="3" iconUrl="https://jira.opendaylight.org/images/icons/priorities/major.svg">Medium</priority>
                        <status id="10003" iconUrl="https://jira.opendaylight.org/images/icons/status_generic.gif" description="">Confirmed</status>
                    <statusCategory id="2" key="new" colorName="blue-gray"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="rovarga">Robert Varga</reporter>
                        <labels>
                    </labels>
                <created>Fri, 8 Apr 2022 20:12:05 +0000</created>
                <updated>Tue, 9 Jan 2024 09:13:20 +0000</updated>
                                                            <fixVersion>14.0.0</fixVersion>
                                    <component>Binding codegen</component>
                    <component>Binding Spec</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                    <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                            <outwardlinks description="blocks">
                                        <issuelink>
            <issuekey id="35337">MDSAL-733</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10300">
                    <name>Issue split</name>
                                                                <inwardlinks description="split from">
                                        <issuelink>
            <issuekey id="26871">MDSAL-49</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_11400" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i0421b:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>