<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:59:52 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>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[JAVA-3551] Support default args in the CaseClassCodec</title>
                <link>https://jira.mongodb.org/browse/JAVA-3551</link>
                <project id="10006" key="JAVA">Java Driver</project>
                    <description>&lt;p&gt;Add support for default args. See PR: &lt;a href=&quot;https://github.com/mongodb/mongo-scala-driver/pull/30&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-scala-driver/pull/30&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
        <key id="391596">JAVA-3551</key>
            <summary>Support default args in the CaseClassCodec</summary>
                <type id="2" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14711&amp;avatarType=issuetype">New Feature</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="10038" iconUrl="https://jira.mongodb.org/images/icons/subtask.gif" description="">Backlog</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="ross@mongodb.com">Ross Lawley</reporter>
                        <labels>
                    </labels>
                <created>Thu, 8 Jun 2017 10:06:05 +0000</created>
                <updated>Wed, 26 Oct 2022 15:05:22 +0000</updated>
                                                                            <component>Scala</component>
                                        <votes>7</votes>
                                    <watches>7</watches>
                                                                                                                <comments>
                            <comment id="3966756" author="JIRAUSER1254820" created="Tue, 27 Jul 2021 22:34:20 +0000"  >&lt;p&gt;Hi Ross,&lt;/p&gt;

&lt;p&gt;Would it be acceptable to have some default handling based on types themselves and not default values ?&lt;/p&gt;

&lt;p&gt;Having&#160;&lt;a href=&quot;https://github.com/json4s/json4s&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Json4s&lt;/a&gt; in mind and the concept of &quot;&lt;em&gt;withStrictArrayExtraction&lt;/em&gt;&quot;, or what is already done for &lt;em&gt;Option&lt;/em&gt;&lt;br/&gt;
 It would probably solve many of situation where the expected default value is an &lt;em&gt;empty seq, empty map, None&lt;/em&gt; ...&lt;br/&gt;
 In those scenarios we don&apos;t need default methods in the companion anymore, simply providing &lt;em&gt;Seq.empty, Map.empty, None&lt;/em&gt;&lt;br/&gt;
 More complexe logic would probably have to keep writing codecs of course&lt;/p&gt;

&lt;p&gt;It could be an argument of the &lt;em&gt;createCodecProvider&lt;/em&gt; for example or an annotation ...&lt;/p&gt;

&lt;p&gt;Ga&#235;l&lt;/p&gt;</comment>
                            <comment id="3964741" author="ross@10gen.com" created="Tue, 27 Jul 2021 08:50:29 +0000"  >&lt;p&gt;Hi &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=gael.ferrachat%40newsbridge.io&quot; class=&quot;user-hover&quot; rel=&quot;gael.ferrachat@newsbridge.io&quot;&gt;gael.ferrachat@newsbridge.io&lt;/a&gt;,&lt;/p&gt;

&lt;p&gt;There are no current plans to look into adding support. Unfortunately, the previous attempt ran into a compile time race condition and had to be reverted (SCALA-324).&lt;/p&gt;

&lt;p&gt;Ross&lt;/p&gt;
</comment>
                            <comment id="3957542" author="JIRAUSER1254820" created="Thu, 22 Jul 2021 14:40:50 +0000"  >&lt;p&gt;Hi Ross,&lt;/p&gt;

&lt;p&gt;Do we have any target time on this ?&lt;/p&gt;

&lt;p&gt;Last commit was done in 2017 and it would greatly improves some of our coding strategies ...&lt;/p&gt;</comment>
                            <comment id="1653943" author="xgen-internal-githook" created="Tue, 22 Aug 2017 15:48:42 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;username&apos;: &apos;rozza&apos;, &apos;email&apos;: &apos;ross.lawley@gmail.com&apos;, &apos;name&apos;: &apos;Ross Lawley&apos;}
&lt;p&gt;Message: Reverted &lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-3551&quot; title=&quot;Support default args in the CaseClassCodec&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-3551&quot;&gt;SCALA-313&lt;/a&gt; support for default arguments&lt;/p&gt;

&lt;p&gt;Requires a better strategy for handling compiler race conditions where&lt;br/&gt;
the companion objects default methods may not exist.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-scala-driver/commit/233afcc52c81f35b0aeec04ee44a66cda9010abd&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-scala-driver/commit/233afcc52c81f35b0aeec04ee44a66cda9010abd&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1653927" author="ross@10gen.com" created="Tue, 22 Aug 2017 15:30:51 +0000"  >&lt;p&gt;As &lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-3544&quot; title=&quot;Macro for case class with default values fails to compile&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-3544&quot;&gt;SCALA-325&lt;/a&gt; and SCALA-324 show there have been a number of issues with supporting default values.&lt;/p&gt;

&lt;p&gt;For 2.2.0 the changes will be reverted and will remain so until we can add a compile time error explaining the reason the macro cannot work.&lt;/p&gt;</comment>
                            <comment id="1621925" author="xgen-internal-githook" created="Fri, 14 Jul 2017 08:58:57 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;rozza&apos;, u&apos;name&apos;: u&apos;Ross Lawley&apos;, u&apos;email&apos;: u&apos;ross.lawley@gmail.com&apos;}
&lt;p&gt;Message: Docs: Added note regarding default values and companion Objects&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-3551&quot; title=&quot;Support default args in the CaseClassCodec&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-3551&quot;&gt;SCALA-313&lt;/a&gt; SCALA-324&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-scala-driver/commit/e89f3b7fcf6cbb12b0a623d47afc2721ac464f87&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-scala-driver/commit/e89f3b7fcf6cbb12b0a623d47afc2721ac464f87&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1590785" author="xgen-internal-githook" created="Thu, 8 Jun 2017 10:43:23 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;Panshin&apos;, u&apos;name&apos;: u&apos;Gleb Panshin&apos;, u&apos;email&apos;: u&apos;panshingleb@gmail.com&apos;}
&lt;p&gt;Message: CaseClassCodec - Added support for case classes containing val attributes&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-3551&quot; title=&quot;Support default args in the CaseClassCodec&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-3551&quot;&gt;SCALA-313&lt;/a&gt;&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-scala-driver/commit/5e620c8ff3216a69cc5366659512dbf7e89d0124&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-scala-driver/commit/5e620c8ff3216a69cc5366659512dbf7e89d0124&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1590777" author="xgen-internal-githook" created="Thu, 8 Jun 2017 10:23:33 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;Panshin&apos;, u&apos;name&apos;: u&apos;Gleb Panshin&apos;, u&apos;email&apos;: u&apos;panshingleb@gmail.com&apos;}
&lt;p&gt;Message: CaseClassCodec - Added support for default values.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-3551&quot; title=&quot;Support default args in the CaseClassCodec&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-3551&quot;&gt;SCALA-313&lt;/a&gt;&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-scala-driver/commit/e27ecd9817c6f88a4f5ca34b2115706e511db49c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-scala-driver/commit/e27ecd9817c6f88a4f5ca34b2115706e511db49c&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="1600968">JAVA-3962</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="404808">JAVA-3544</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr3mmh:0400000946ij90w</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="1750">JVM Sprint 40</customfieldvalue>

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