<?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/"
		>
<channel>
	<title>Comments on: What methods does my Groovy/Grails class have?</title>
	<atom:link href="http://naleid.com/blog/2008/05/07/what-methods-does-my-groovygrails-class-have/feed/" rel="self" type="application/rss+xml" />
	<link>http://naleid.com/blog/2008/05/07/what-methods-does-my-groovygrails-class-have/</link>
	<description>Groovy, Grails and OS X tips and tricks</description>
	<lastBuildDate>Sat, 31 Jul 2010 11:43:17 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: tednaleid</title>
		<link>http://naleid.com/blog/2008/05/07/what-methods-does-my-groovygrails-class-have/comment-page-1/#comment-2024</link>
		<dc:creator>tednaleid</dc:creator>
		<pubDate>Thu, 22 Oct 2009 17:53:08 +0000</pubDate>
		<guid isPermaLink="false">http://naleid.com/blog/?p=21#comment-2024</guid>
		<description>@Pierre, you&#039;re correct, this method doesn&#039;t show you the meta methods that are on every Object, the ones that most of the time I don&#039;t find interesting.  It also contains the static class meta methods that are added by the &lt;a href=&quot;http://groovy.codehaus.org/api/org/codehaus/groovy/runtime/DefaultGroovyMethods.html&quot; rel=&quot;nofollow&quot;&gt;DefaultGroovyMethods&lt;/a&gt; class.

If you really want to see those methods as well, you can look at the metaMethods collection:

&lt;pre lang=&quot;groovy&quot;&gt;
groovy&gt; &quot;foo&quot;.metaClass.metaMethods.name.sort().unique()

Result: [addShutdownHook, any, asType, bitwiseNegate, center, collect, contains, count, decodeBase64, denormalize, dump, each, eachLine, eachMatch, eachWithIndex, every, execute, find, findAll, findIndexOf, findIndexValues, findLastIndexOf, getAt, getChars, getMetaClass, getMetaPropertyValues, getProperties, grep, hasProperty, identity, inject, inspect, invokeMethod, is, isBigDecimal, isBigInteger, isCase, isDouble, isFloat, isInteger, isLong, isNumber, iterator, leftShift, matches, metaClass, minus, multiply, next, normalize, numberAwareCompareTo, padLeft, padRight, plus, previous, print, printf, println, putAt, readLines, replace, replaceAll, replaceFirst, respondsTo, reverse, setMetaClass, size, sleep, split, splitEachLine, sprintf, toBigDecimal, toBigInteger, toBoolean, toCharacter, toDouble, toFloat, toInteger, toList, toLong, toShort, toString, toURI, toURL, tokenize, use, with]
&lt;/pre&gt;

If you really want a full list of ALL methods, you can add the methods to the metaMethods and sort + unique that:

&lt;pre lang=&quot;groovy&quot;&gt;
groovy&gt; (&quot;foo&quot;.metaClass.methods.name + &quot;foo&quot;.metaClass.metaMethods.name).sort().unique()

Result: [addShutdownHook, any, asType, bitwiseNegate, center, charAt, codePointAt, codePointBefore, codePointCount, collect, compareTo, compareToIgnoreCase, concat, contains, contentEquals, copyValueOf, count, decodeBase64, denormalize, dump, each, eachLine, eachMatch, eachWithIndex, endsWith, equals, equalsIgnoreCase, every, execute, find, findAll, findIndexOf, findIndexValues, findLastIndexOf, format, getAt, getBytes, getChars, getClass, getMetaClass, getMetaPropertyValues, getProperties, grep, hasProperty, hashCode, identity, indexOf, inject, inspect, intern, invokeMethod, is, isBigDecimal, isBigInteger, isCase, isDouble, isEmpty, isFloat, isInteger, isLong, isNumber, iterator, lastIndexOf, leftShift, length, matches, metaClass, minus, multiply, next, normalize, notify, notifyAll, numberAwareCompareTo, offsetByCodePoints, padLeft, padRight, plus, previous, print, printf, println, putAt, readLines, regionMatches, replace, replaceAll, replaceFirst, respondsTo, reverse, setMetaClass, size, sleep, split, splitEachLine, sprintf, startsWith, subSequence, substring, toBigDecimal, toBigInteger, toBoolean, toCharArray, toCharacter, toDouble, toFloat, toInteger, toList, toLong, toLowerCase, toShort, toString, toURI, toURL, toUpperCase, tokenize, trim, use, valueOf, wait, with]
&lt;/pre&gt;

As I said, most of the time just looking at the &quot;methods&quot; gives me what I want, but this is the way to get the exhaustive list.</description>
		<content:encoded><![CDATA[<p>@Pierre, you&#8217;re correct, this method doesn&#8217;t show you the meta methods that are on every Object, the ones that most of the time I don&#8217;t find interesting.  It also contains the static class meta methods that are added by the <a href="http://groovy.codehaus.org/api/org/codehaus/groovy/runtime/DefaultGroovyMethods.html" rel="nofollow" onclick="pageTracker._trackPageview('/outgoing/groovy.codehaus.org/api/org/codehaus/groovy/runtime/DefaultGroovyMethods.html?referer=');">DefaultGroovyMethods</a> class.</p>
<p>If you really want to see those methods as well, you can look at the metaMethods collection:</p>

<div class="wp_syntax"><div class="code"><pre class="groovy" style="font-family:monospace;">groovy<span style="color: #669966;">&gt;</span> <span style="color: #aa0000;">&quot;foo&quot;</span>.<span style="color: #006600;">metaClass</span>.<span style="color: #006600;">metaMethods</span>.<span style="color: #006600;">name</span>.<span style="color: #663399;">sort</span><span style="color: #669966;">&#40;</span><span style="color: #669966;">&#41;</span>.<span style="color: #006600;">unique</span><span style="color: #669966;">&#40;</span><span style="color: #669966;">&#41;</span>
&nbsp;
Result: <span style="color: #669966;">&#91;</span>addShutdownHook, any, asType, bitwiseNegate, <span style="color: #CC0099;">center</span>, <span style="color: #663399;">collect</span>, <span style="color: #CC0099;">contains</span>, <span style="color: #663399;">count</span>, decodeBase64, denormalize, <span style="color: #663366;">dump</span>, <span style="color: #663399;">each</span>, <span style="color: #cc9922;">eachLine</span>, <span style="color: #CC0099;">eachMatch</span>, <span style="color: #663399;">eachWithIndex</span>, every, <span style="color: #663366; font-weight: bold;">execute</span>, <span style="color: #663399;">find</span>, <span style="color: #663399;">findAll</span>, <span style="color: #663399;">findIndexOf</span>, findIndexValues, findLastIndexOf, getAt, getChars, getMetaClass, getMetaPropertyValues, getProperties, <span style="color: #663399;">grep</span>, hasProperty, identity, <span style="color: #663399;">inject</span>, <span style="color: #663366;">inspect</span>, <span style="color: #663366;">invokeMethod</span>, is, isBigDecimal, isBigInteger, isCase, isDouble, isFloat, isInteger, isLong, isNumber, iterator, leftShift, matches, metaClass, minus, multiply, next, normalize, numberAwareCompareTo, <span style="color: #CC0099;">padLeft</span>, <span style="color: #CC0099;">padRight</span>, plus, previous, <span style="color: #663366;">print</span>, printf, <span style="color: #663366;">println</span>, putAt, readLines, replace, replaceAll, replaceFirst, respondsTo, <span style="color: #663399;">reverse</span>, setMetaClass, <span style="color: #663399;">size</span>, sleep, split, <span style="color: #cc9922;">splitEachLine</span>, sprintf, toBigDecimal, toBigInteger, toBoolean, <span style="color: #CC0099;">toCharacter</span>, toDouble, toFloat, toInteger, <span style="color: #663399;">toList</span>, <span style="color: #CC0099;">toLong</span>, toShort, toString, toURI, <span style="color: #CC0099;">toURL</span>, <span style="color: #CC0099;">tokenize</span>, <span style="color: #663366;">use</span>, with<span style="color: #669966;">&#93;</span></pre></div></div>

<p>If you really want a full list of ALL methods, you can add the methods to the metaMethods and sort + unique that:</p>

<div class="wp_syntax"><div class="code"><pre class="groovy" style="font-family:monospace;">groovy<span style="color: #669966;">&gt;</span> <span style="color: #669966;">&#40;</span><span style="color: #aa0000;">&quot;foo&quot;</span>.<span style="color: #006600;">metaClass</span>.<span style="color: #006600;">methods</span>.<span style="color: #006600;">name</span> <span style="color: #669966;">+</span> <span style="color: #aa0000;">&quot;foo&quot;</span>.<span style="color: #006600;">metaClass</span>.<span style="color: #006600;">metaMethods</span>.<span style="color: #006600;">name</span><span style="color: #669966;">&#41;</span>.<span style="color: #663399;">sort</span><span style="color: #669966;">&#40;</span><span style="color: #669966;">&#41;</span>.<span style="color: #006600;">unique</span><span style="color: #669966;">&#40;</span><span style="color: #669966;">&#41;</span>
&nbsp;
Result: <span style="color: #669966;">&#91;</span>addShutdownHook, any, asType, bitwiseNegate, <span style="color: #CC0099;">center</span>, charAt, codePointAt, codePointBefore, codePointCount, <span style="color: #663399;">collect</span>, compareTo, compareToIgnoreCase, concat, <span style="color: #CC0099;">contains</span>, contentEquals, copyValueOf, <span style="color: #663399;">count</span>, decodeBase64, denormalize, <span style="color: #663366;">dump</span>, <span style="color: #663399;">each</span>, <span style="color: #cc9922;">eachLine</span>, <span style="color: #CC0099;">eachMatch</span>, <span style="color: #663399;">eachWithIndex</span>, endsWith, equals, equalsIgnoreCase, every, <span style="color: #663366; font-weight: bold;">execute</span>, <span style="color: #663399;">find</span>, <span style="color: #663399;">findAll</span>, <span style="color: #663399;">findIndexOf</span>, findIndexValues, findLastIndexOf, format, getAt, getBytes, getChars, getClass, getMetaClass, getMetaPropertyValues, getProperties, <span style="color: #663399;">grep</span>, hasProperty, hashCode, identity, indexOf, <span style="color: #663399;">inject</span>, <span style="color: #663366;">inspect</span>, intern, <span style="color: #663366;">invokeMethod</span>, is, isBigDecimal, isBigInteger, isCase, isDouble, isEmpty, isFloat, isInteger, isLong, isNumber, iterator, lastIndexOf, leftShift, length, matches, metaClass, minus, multiply, next, normalize, notify, notifyAll, numberAwareCompareTo, offsetByCodePoints, <span style="color: #CC0099;">padLeft</span>, <span style="color: #CC0099;">padRight</span>, plus, previous, <span style="color: #663366;">print</span>, printf, <span style="color: #663366;">println</span>, putAt, readLines, regionMatches, replace, replaceAll, replaceFirst, respondsTo, <span style="color: #663399;">reverse</span>, setMetaClass, <span style="color: #663399;">size</span>, sleep, split, <span style="color: #cc9922;">splitEachLine</span>, sprintf, startsWith, subSequence, substring, toBigDecimal, toBigInteger, toBoolean, toCharArray, <span style="color: #CC0099;">toCharacter</span>, toDouble, toFloat, toInteger, <span style="color: #663399;">toList</span>, <span style="color: #CC0099;">toLong</span>, toLowerCase, toShort, toString, toURI, <span style="color: #CC0099;">toURL</span>, toUpperCase, <span style="color: #CC0099;">tokenize</span>, trim, <span style="color: #663366;">use</span>, valueOf, wait, with<span style="color: #669966;">&#93;</span></pre></div></div>

<p>As I said, most of the time just looking at the &#8220;methods&#8221; gives me what I want, but this is the way to get the exhaustive list.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pierre Thibault</title>
		<link>http://naleid.com/blog/2008/05/07/what-methods-does-my-groovygrails-class-have/comment-page-1/#comment-2023</link>
		<dc:creator>Pierre Thibault</dc:creator>
		<pubDate>Thu, 22 Oct 2009 17:21:46 +0000</pubDate>
		<guid isPermaLink="false">http://naleid.com/blog/?p=21#comment-2023</guid>
		<description>Does not work. Some methods are missing. For example, if I have a variable referencing a string, I have more methods listed with inspect&#039; than using the expression you are suggesting. &#039;each&#039; is listed with &#039;inspect&#039; and not listed using your method.</description>
		<content:encoded><![CDATA[<p>Does not work. Some methods are missing. For example, if I have a variable referencing a string, I have more methods listed with inspect&#8217; than using the expression you are suggesting. &#8216;each&#8217; is listed with &#8216;inspect&#8217; and not listed using your method.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ted Naleid &#187; Modularizing Groovy Config Files With a Dash of Meta-Programming</title>
		<link>http://naleid.com/blog/2008/05/07/what-methods-does-my-groovygrails-class-have/comment-page-1/#comment-1687</link>
		<dc:creator>Ted Naleid &#187; Modularizing Groovy Config Files With a Dash of Meta-Programming</dc:creator>
		<pubDate>Fri, 31 Jul 2009 04:57:03 +0000</pubDate>
		<guid isPermaLink="false">http://naleid.com/blog/?p=21#comment-1687</guid>
		<description>[...] is a continuation of a sporadic set of blog posts about some practical uses for groovy [...]</description>
		<content:encoded><![CDATA[<p>[...] is a continuation of a sporadic set of blog posts about some practical uses for groovy [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: englishteeth.co.uk &#187; Groovy on Grails and my &#8220;Test First&#8221; impasse</title>
		<link>http://naleid.com/blog/2008/05/07/what-methods-does-my-groovygrails-class-have/comment-page-1/#comment-803</link>
		<dc:creator>englishteeth.co.uk &#187; Groovy on Grails and my &#8220;Test First&#8221; impasse</dc:creator>
		<pubDate>Thu, 04 Sep 2008 14:12:25 +0000</pubDate>
		<guid isPermaLink="false">http://naleid.com/blog/?p=21#comment-803</guid>
		<description>[...] started by Fun with Groovy and the Reflection API and definitely helped by What methods does my Groovy/Grails class have? I distilled my problem to a script and proceeded to dump anything and everything I could think of [...]</description>
		<content:encoded><![CDATA[<p>[...] started by Fun with Groovy and the Reflection API and definitely helped by What methods does my Groovy/Grails class have? I distilled my problem to a script and proceeded to dump anything and everything I could think of [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John</title>
		<link>http://naleid.com/blog/2008/05/07/what-methods-does-my-groovygrails-class-have/comment-page-1/#comment-107</link>
		<dc:creator>John</dc:creator>
		<pubDate>Fri, 16 May 2008 19:16:35 +0000</pubDate>
		<guid isPermaLink="false">http://naleid.com/blog/?p=21#comment-107</guid>
		<description>Nice! This should do until the groovy / Eclipse plugin is auto-completing properly</description>
		<content:encoded><![CDATA[<p>Nice! This should do until the groovy / Eclipse plugin is auto-completing properly</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Rees</title>
		<link>http://naleid.com/blog/2008/05/07/what-methods-does-my-groovygrails-class-have/comment-page-1/#comment-77</link>
		<dc:creator>Robert Rees</dc:creator>
		<pubDate>Wed, 14 May 2008 13:20:41 +0000</pubDate>
		<guid isPermaLink="false">http://naleid.com/blog/?p=21#comment-77</guid>
		<description>Thanks for the article, it was a real help when I was looking for an equivalent of Ruby&#039;s &quot;methods&quot;.</description>
		<content:encoded><![CDATA[<p>Thanks for the article, it was a real help when I was looking for an equivalent of Ruby&#8217;s &#8220;methods&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hamlet D'Arcy</title>
		<link>http://naleid.com/blog/2008/05/07/what-methods-does-my-groovygrails-class-have/comment-page-1/#comment-48</link>
		<dc:creator>Hamlet D'Arcy</dc:creator>
		<pubDate>Wed, 07 May 2008 02:46:59 +0000</pubDate>
		<guid isPermaLink="false">http://naleid.com/blog/?p=21#comment-48</guid>
		<description>This seems a lot nicer than groovy.inspect.Inspector, which is what I&#039;ve been fighting with recently.</description>
		<content:encoded><![CDATA[<p>This seems a lot nicer than groovy.inspect.Inspector, which is what I&#8217;ve been fighting with recently.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
