<?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: Enumeration and Iterable</title>
	<atom:link href="http://javablog.co.uk/2007/11/25/enumeration-and-iterable/feed/" rel="self" type="application/rss+xml" />
	<link>http://javablog.co.uk/2007/11/25/enumeration-and-iterable/</link>
	<description>by Java coders, for Java coders</description>
	<lastBuildDate>Thu, 22 Jul 2010 12:24:38 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: Andreas</title>
		<link>http://javablog.co.uk/2007/11/25/enumeration-and-iterable/comment-page-1/#comment-37884</link>
		<dc:creator>Andreas</dc:creator>
		<pubDate>Mon, 09 Feb 2009 19:18:16 +0000</pubDate>
		<guid isPermaLink="false">http://javablog.co.uk/2007/11/25/enumeration-and-iterable/#comment-37884</guid>
		<description>&lt;p&gt;Hi Sam,
iterating over Properties with your code like this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;
                    for (String propertyName : iterate(model.propertyNames())) {
                        properties.add(new PropertiesTreeData(propertyName,
                                model.getProperty(propertyName), modelFile));
                    }
&lt;/code&gt;&lt;/pre&gt; 

&lt;p&gt;doesn&#039;t seem to work for me: &lt;/p&gt;

&lt;p&gt;Type mismatch: cannot convert from element type capture#1-of ? to String    &lt;/p&gt;

&lt;p&gt;My mistake?&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Hi Sam,
iterating over Properties with your code like this:</p>

<pre class="highlighted"><code>
                    for (String propertyName : iterate(model.propertyNames())) {
                        properties.add(new PropertiesTreeData(propertyName,
                                model.getProperty(propertyName), modelFile));
                    }
</code></pre> 

<p>doesn&#8217;t seem to work for me: </p>

<p>Type mismatch: cannot convert from element type capture#1-of ? to String    </p>

<p>My mistake?</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Sam</title>
		<link>http://javablog.co.uk/2007/11/25/enumeration-and-iterable/comment-page-1/#comment-3126</link>
		<dc:creator>Sam</dc:creator>
		<pubDate>Sun, 25 Nov 2007 19:15:29 +0000</pubDate>
		<guid isPermaLink="false">http://javablog.co.uk/2007/11/25/enumeration-and-iterable/#comment-3126</guid>
		<description>&lt;p&gt;Thanks Stephan... we have something similar in our codebase, but as soon as you don&#039;t have your utility classes (i.e. coding in another project, possibly an open source hobby project) it is a bit of a pain. For completeness, here&#039;s the code we use:-&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# lang java
public static &lt;T&gt; Iterable&lt;T&gt; iterate(final Enumeration&lt;T&gt; en) {
    final Iterator&lt;T&gt; iterator = new Iterator&lt;T&gt;() {
          public boolean hasNext() {  
              return en.hasMoreElements();  
            }
            public T next() {
              return en.nextElement();  
            }
            public void remove() {
              throw new UnsupportedOperationException();  
            }
    };
    return new Iterable&lt;T&gt;() {
        public Iterator&lt;T&gt; iterator() {
            return iterator;
        }
    };
}
&lt;/code&gt;&lt;/pre&gt;
</description>
		<content:encoded><![CDATA[<p>Thanks Stephan&#8230; we have something similar in our codebase, but as soon as you don&#8217;t have your utility classes (i.e. coding in another project, possibly an open source hobby project) it is a bit of a pain. For completeness, here&#8217;s the code we use:-</p>

<pre class="highlighted"><code><span class="hl-reserved">public</span><span class="hl-code"> </span><span class="hl-types">static</span><span class="hl-code"> &lt;</span><span class="hl-identifier">T</span><span class="hl-code">&gt; </span><span class="hl-identifier">Iterable</span><span class="hl-code">&lt;</span><span class="hl-identifier">T</span><span class="hl-code">&gt; </span><span class="hl-identifier">iterate</span><span class="hl-brackets">(</span><span class="hl-types">final</span><span class="hl-code"> </span><span class="hl-identifier">Enumeration</span><span class="hl-code">&lt;</span><span class="hl-identifier">T</span><span class="hl-code">&gt; </span><span class="hl-identifier">en</span><span class="hl-brackets">)</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code">
    </span><span class="hl-types">final</span><span class="hl-code"> </span><span class="hl-identifier">Iterator</span><span class="hl-code">&lt;</span><span class="hl-identifier">T</span><span class="hl-code">&gt; </span><span class="hl-identifier">iterator</span><span class="hl-code"> = </span><span class="hl-reserved">new</span><span class="hl-code"> </span><span class="hl-identifier">Iterator</span><span class="hl-code">&lt;</span><span class="hl-identifier">T</span><span class="hl-code">&gt;</span><span class="hl-brackets">()</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code">
          </span><span class="hl-reserved">public</span><span class="hl-code"> </span><span class="hl-types">boolean</span><span class="hl-code"> </span><span class="hl-identifier">hasNext</span><span class="hl-brackets">()</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code">  
              </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-identifier">en</span><span class="hl-code">.</span><span class="hl-identifier">hasMoreElements</span><span class="hl-brackets">()</span><span class="hl-code">;  
            </span><span class="hl-brackets">}</span><span class="hl-code">
            </span><span class="hl-reserved">public</span><span class="hl-code"> </span><span class="hl-identifier">T</span><span class="hl-code"> </span><span class="hl-identifier">next</span><span class="hl-brackets">()</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code">
              </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-identifier">en</span><span class="hl-code">.</span><span class="hl-identifier">nextElement</span><span class="hl-brackets">()</span><span class="hl-code">;  
            </span><span class="hl-brackets">}</span><span class="hl-code">
            </span><span class="hl-reserved">public</span><span class="hl-code"> </span><span class="hl-types">void</span><span class="hl-code"> </span><span class="hl-identifier">remove</span><span class="hl-brackets">()</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code">
              </span><span class="hl-reserved">throw</span><span class="hl-code"> </span><span class="hl-reserved">new</span><span class="hl-code"> </span><span class="hl-identifier">UnsupportedOperationException</span><span class="hl-brackets">()</span><span class="hl-code">;  
            </span><span class="hl-brackets">}</span><span class="hl-code">
    </span><span class="hl-brackets">}</span><span class="hl-code">;
    </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-reserved">new</span><span class="hl-code"> </span><span class="hl-identifier">Iterable</span><span class="hl-code">&lt;</span><span class="hl-identifier">T</span><span class="hl-code">&gt;</span><span class="hl-brackets">()</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code">
        </span><span class="hl-reserved">public</span><span class="hl-code"> </span><span class="hl-identifier">Iterator</span><span class="hl-code">&lt;</span><span class="hl-identifier">T</span><span class="hl-code">&gt; </span><span class="hl-identifier">iterator</span><span class="hl-brackets">()</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code">
            </span><span class="hl-reserved">return</span><span class="hl-code"> </span><span class="hl-identifier">iterator</span><span class="hl-code">;
        </span><span class="hl-brackets">}</span><span class="hl-code">
    </span><span class="hl-brackets">}</span><span class="hl-code">;
</span><span class="hl-brackets">}</span></code></pre>]]></content:encoded>
	</item>
	<item>
		<title>By: Stephan Schmidt</title>
		<link>http://javablog.co.uk/2007/11/25/enumeration-and-iterable/comment-page-1/#comment-3125</link>
		<dc:creator>Stephan Schmidt</dc:creator>
		<pubDate>Sun, 25 Nov 2007 19:00:12 +0000</pubDate>
		<guid isPermaLink="false">http://javablog.co.uk/2007/11/25/enumeration-and-iterable/#comment-3125</guid>
		<description>&lt;p&gt;I use&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# lang java
for (ZipEntry entry: iterate(zip.entries())) {
// do stuff
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;with a simple static import. Short, doesn&#039;t create a new list and is less noisy.&lt;/p&gt;

&lt;p&gt;http://stephan.reposita.org/archives/2007/11/03/use-java-5-for-with-an-enumertion/&lt;/p&gt;

&lt;p&gt;Peace
-stephan&lt;/p&gt;

&lt;p&gt;-- 
Stephan Schmidt :: stephan@reposita.org
Reposita Open Source - Monitor your software development
http://www.reposita.org 
Blog at http://stephan.reposita.org - No signal. No noise.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I use</p>

<pre class="highlighted"><code><span class="hl-reserved">for</span><span class="hl-code"> </span><span class="hl-brackets">(</span><span class="hl-identifier">ZipEntry</span><span class="hl-code"> </span><span class="hl-identifier">entry</span><span class="hl-code">: </span><span class="hl-identifier">iterate</span><span class="hl-brackets">(</span><span class="hl-identifier">zip</span><span class="hl-code">.</span><span class="hl-identifier">entries</span><span class="hl-brackets">()))</span><span class="hl-code"> </span><span class="hl-brackets">{</span><span class="hl-code">
</span><span class="hl-comment">// do stuff</span><span class="hl-code">
</span><span class="hl-brackets">}</span></code></pre>

<p>with a simple static import. Short, doesn&#8217;t create a new list and is less noisy.</p>

<p><a href="http://stephan.reposita.org/archives/2007/11/03/use-java-5-for-with-an-enumertion/" rel="nofollow">http://stephan.reposita.org/archives/2007/11/03/use-java-5-for-with-an-enumertion/</a></p>

<p>Peace
-stephan</p>

<p>&#8212; 
Stephan Schmidt :: <a href="mailto:stephan@reposita.org">stephan@reposita.org</a>
Reposita Open Source - Monitor your software development
<a href="http://www.reposita.org" rel="nofollow">http://www.reposita.org</a> 
Blog at <a href="http://stephan.reposita.org" rel="nofollow">http://stephan.reposita.org</a> - No signal. No noise.</p>]]></content:encoded>
	</item>
</channel>
</rss>
