<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: The Future of Groovy Interoperability?</title>
	<atom:link href="http://daniel.gredler.net/2007/03/25/the-future-of-groovy-interoperability/feed/" rel="self" type="application/rss+xml" />
	<link>http://daniel.gredler.net/2007/03/25/the-future-of-groovy-interoperability/</link>
	<description></description>
	<lastBuildDate>Tue, 24 Jan 2012 01:02:16 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Groovy Interoperability Redux &#171; A Public Scratchpad</title>
		<link>http://daniel.gredler.net/2007/03/25/the-future-of-groovy-interoperability/#comment-59</link>
		<dc:creator><![CDATA[Groovy Interoperability Redux &#171; A Public Scratchpad]]></dc:creator>
		<pubDate>Fri, 13 Jul 2007 16:52:21 +0000</pubDate>
		<guid isPermaLink="false">http://gredler.wordpress.com/2007/03/25/the-future-of-groovy-interoperability/#comment-59</guid>
		<description><![CDATA[[...] 13th, 2007 at 11:52 am (Java, Groovy)   A couple of months ago I posted a short article regarding interoperability between Java and Groovy. In it, I discussed the &#8220;chicken and egg [...]]]></description>
		<content:encoded><![CDATA[<p>[...] 13th, 2007 at 11:52 am (Java, Groovy)   A couple of months ago I posted a short article regarding interoperability between Java and Groovy. In it, I discussed the &#8220;chicken and egg [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel Gredler</title>
		<link>http://daniel.gredler.net/2007/03/25/the-future-of-groovy-interoperability/#comment-14</link>
		<dc:creator><![CDATA[Daniel Gredler]]></dc:creator>
		<pubDate>Mon, 26 Mar 2007 16:39:35 +0000</pubDate>
		<guid isPermaLink="false">http://gredler.wordpress.com/2007/03/25/the-future-of-groovy-interoperability/#comment-14</guid>
		<description><![CDATA[Cliff,

The interface which I had defined in Java was not meant to be a buffer interface, it was a generic DomainObject interface used to enforce certain implementation constraints on the domain objects (required equals(), hashCode(), getId(), setId(), getVersion(), setVersion(), etc). It might just as easily have been an abstract base class. Sorry for the confusion :-)]]></description>
		<content:encoded><![CDATA[<p>Cliff,</p>
<p>The interface which I had defined in Java was not meant to be a buffer interface, it was a generic DomainObject interface used to enforce certain implementation constraints on the domain objects (required equals(), hashCode(), getId(), setId(), getVersion(), setVersion(), etc). It might just as easily have been an abstract base class. Sorry for the confusion <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael</title>
		<link>http://daniel.gredler.net/2007/03/25/the-future-of-groovy-interoperability/#comment-12</link>
		<dc:creator><![CDATA[Michael]]></dc:creator>
		<pubDate>Mon, 26 Mar 2007 16:20:21 +0000</pubDate>
		<guid isPermaLink="false">http://gredler.wordpress.com/2007/03/25/the-future-of-groovy-interoperability/#comment-12</guid>
		<description><![CDATA[See &lt;a href=&quot;http://jira.codehaus.org/browse/GROOVY-1735&quot; rel=&quot;nofollow&quot;&gt;http://jira.codehaus.org/browse/GROOVY-1735&lt;/a&gt;.

I think that the Eclipse compiler is a better candidate than javac, as the latter seems to support only file based sources.]]></description>
		<content:encoded><![CDATA[<p>See <a href="http://jira.codehaus.org/browse/GROOVY-1735" rel="nofollow">http://jira.codehaus.org/browse/GROOVY-1735</a>.</p>
<p>I think that the Eclipse compiler is a better candidate than javac, as the latter seems to support only file based sources.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Cliff</title>
		<link>http://daniel.gredler.net/2007/03/25/the-future-of-groovy-interoperability/#comment-11</link>
		<dc:creator><![CDATA[Cliff]]></dc:creator>
		<pubDate>Mon, 26 Mar 2007 13:55:06 +0000</pubDate>
		<guid isPermaLink="false">http://gredler.wordpress.com/2007/03/25/the-future-of-groovy-interoperability/#comment-11</guid>
		<description><![CDATA[Daniel,

I&#039;m confused by this post. You mention:
&lt;blockquote&gt;The Java domain object which I converted to Groovy implemented an interface defined in Java, and the domain object itself was obviously used throughout the application, implemented in Java.&lt;/blockquote&gt;

That is actually the solution to the chicken and egg problem. In other words if you use an interface as a buffer between Groovy and Java as explained in Deirk&#039;s book then compilation can proceed as normal. The only time that falls apart is if your Java references concrete implementations along with the interfaces (bad practice) or if the interface itself is defined in Groovy (not really necessary). Of course there are those situations where you&#039;ll want to co-mingle the two languages where Java calls Groovy calls Java, or Groovy calls Java calls Groovy. That&#039;s where formal Maven2 build phases fall apart  a little. Using interfaces would suggest some degree of separation but it is not always desirable to host separate projects for simple operations. It&#039;s an issue that won&#039;t be solved in the short term, not until javac becomes Language aware or groovyc becomes Java aware (hint, hint, to the Groovy team). I&#039;m just babbling, let me get back to my day job.]]></description>
		<content:encoded><![CDATA[<p>Daniel,</p>
<p>I&#8217;m confused by this post. You mention:</p>
<blockquote><p>The Java domain object which I converted to Groovy implemented an interface defined in Java, and the domain object itself was obviously used throughout the application, implemented in Java.</p></blockquote>
<p>That is actually the solution to the chicken and egg problem. In other words if you use an interface as a buffer between Groovy and Java as explained in Deirk&#8217;s book then compilation can proceed as normal. The only time that falls apart is if your Java references concrete implementations along with the interfaces (bad practice) or if the interface itself is defined in Groovy (not really necessary). Of course there are those situations where you&#8217;ll want to co-mingle the two languages where Java calls Groovy calls Java, or Groovy calls Java calls Groovy. That&#8217;s where formal Maven2 build phases fall apart  a little. Using interfaces would suggest some degree of separation but it is not always desirable to host separate projects for simple operations. It&#8217;s an issue that won&#8217;t be solved in the short term, not until javac becomes Language aware or groovyc becomes Java aware (hint, hint, to the Groovy team). I&#8217;m just babbling, let me get back to my day job.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

