<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>4thmouse.com &#187; Java</title>
	<atom:link href="http://4thmouse.com/index.php/category/programming/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://4thmouse.com</link>
	<description>Software Engineering.</description>
	<lastBuildDate>Sun, 18 Dec 2011 05:45:14 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The Evils of Equals and Autoboxing</title>
		<link>http://4thmouse.com/index.php/2011/12/18/the-evils-of-equals-and-autoboxing/</link>
		<comments>http://4thmouse.com/index.php/2011/12/18/the-evils-of-equals-and-autoboxing/#comments</comments>
		<pubDate>Sun, 18 Dec 2011 05:44:01 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[autoboxin]]></category>
		<category><![CDATA[equality]]></category>

		<guid isPermaLink="false">http://4thmouse.com/?p=533</guid>
		<description><![CDATA[This was a fun, if particularly stupid, one:

public void method check&#40;int value&#41;&#123;
  if&#40;this.x == value&#41;
  &#123;
    //do whatever
  &#125;
&#125;

the previous works as long as x and value are small, but not when they are big. Why? Because x is an Integer not an int. Java helpfully autoboxes the int [...]]]></description>
		<wfw:commentRss>http://4thmouse.com/index.php/2011/12/18/the-evils-of-equals-and-autoboxing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Composition vs. Inheritance (hint: usually not inheritance)</title>
		<link>http://4thmouse.com/index.php/2011/12/17/composition-vs-inheritance-hint-usually-not-inheritance/</link>
		<comments>http://4thmouse.com/index.php/2011/12/17/composition-vs-inheritance-hint-usually-not-inheritance/#comments</comments>
		<pubDate>Sat, 17 Dec 2011 16:27:01 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://4thmouse.com/?p=471</guid>
		<description><![CDATA[ A co-worker of mine recently made the comment that a lot of times you see Java code using inheritance where composition is a much better solution. This is very true and worth pointing out.

Basically the problem boils down to this: Although both inheritance and composition form a relationship between objects inheritance creates a strong [...]]]></description>
		<wfw:commentRss>http://4thmouse.com/index.php/2011/12/17/composition-vs-inheritance-hint-usually-not-inheritance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More fun with Java (scope and duplicates)</title>
		<link>http://4thmouse.com/index.php/2010/07/27/more-fun-with-java-scope-and-duplicates/</link>
		<comments>http://4thmouse.com/index.php/2010/07/27/more-fun-with-java-scope-and-duplicates/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 03:32:56 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[block]]></category>
		<category><![CDATA[scope]]></category>

		<guid isPermaLink="false">http://4thmouse.com/?p=398</guid>
		<description><![CDATA[I thought this was interesting&#8230; In Java, a block scoped variable may conflict with a local variable declared later in method scope, but not previously (as shown below):

class A&#123;
  public static void main&#40;String args&#91;&#93;&#41;&#123;
    &#123;int k = 5;&#125;
    int k = 12; //this is OK
    [...]]]></description>
		<wfw:commentRss>http://4thmouse.com/index.php/2010/07/27/more-fun-with-java-scope-and-duplicates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Protected within Java Enums</title>
		<link>http://4thmouse.com/index.php/2010/07/22/protected-within-java-enums/</link>
		<comments>http://4thmouse.com/index.php/2010/07/22/protected-within-java-enums/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 16:37:30 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[enum]]></category>

		<guid isPermaLink="false">http://4thmouse.com/?p=385</guid>
		<description><![CDATA[I just noticed that java enums allow protected member variables and methods. Why is this interesting? Can you think of any code that might actually make use of a protected member in an enum (as opposed to private)? Example after the jump (warning, not practical&#8230;).


package enumerations;
&#160;
public enum ExampleEnum&#123;
    FIRST&#123;
    [...]]]></description>
		<wfw:commentRss>http://4thmouse.com/index.php/2010/07/22/protected-within-java-enums/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SWIG, Java, and JRuby</title>
		<link>http://4thmouse.com/index.php/2010/07/22/swig-java-and-jruby/</link>
		<comments>http://4thmouse.com/index.php/2010/07/22/swig-java-and-jruby/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 12:30:47 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://4thmouse.com/?p=364</guid>
		<description><![CDATA[Providing a robust, maintainable, and interactive interface to your C/C++ application can be a challenge, but I&#8217;ve found that a combination of SWIG, Java, and JRuby (or Jython if you prefer) makes for a very powerful combination.

NOTE: All code is available here.
All languages have their trade offs: C/C++ is speedy, but hard to maintain and [...]]]></description>
		<wfw:commentRss>http://4thmouse.com/index.php/2010/07/22/swig-java-and-jruby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DVSL: An Alternative to XSLT</title>
		<link>http://4thmouse.com/index.php/2009/06/26/dvsl-an-alternative-to-xslt/</link>
		<comments>http://4thmouse.com/index.php/2009/06/26/dvsl-an-alternative-to-xslt/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 12:44:16 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[XPath]]></category>
		<category><![CDATA[XSLT]]></category>
		<category><![CDATA[dvsl]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[velocity]]></category>

		<guid isPermaLink="false">http://4thmouse.com/?p=189</guid>
		<description><![CDATA[DVSL is a fairly small, little known, product associated with the Velocity project over at Apache which takes the best part of XSLT: XPATH, and replaces the verbose and frustrating scripting of XSLT with a java-based template language instead.

What&#8217;s Wrong With XSLT?
Limited
The biggest problem with XSLT is the problem I have with custom-written domain-specific languages [...]]]></description>
		<wfw:commentRss>http://4thmouse.com/index.php/2009/06/26/dvsl-an-alternative-to-xslt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Embedding Rhino Part I: Parsing Command Line Arguments in JavaScript</title>
		<link>http://4thmouse.com/index.php/2008/03/11/embedding-rhino-part-i/</link>
		<comments>http://4thmouse.com/index.php/2008/03/11/embedding-rhino-part-i/#comments</comments>
		<pubDate>Tue, 11 Mar 2008 23:39:49 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[command line]]></category>
		<category><![CDATA[ECMAScript]]></category>
		<category><![CDATA[option parsing]]></category>

		<guid isPermaLink="false">http://4thmouse.com/index.php/2008/03/11/embedding-rhino-part-i/</guid>
		<description><![CDATA[Rhino is a JavaScript/ECMAscript implementation in Java. Using the new java1.6 scripting API you can now easily embed JavaScript into your Java applications. I thought I&#8217;d try writing yet another implementation of the net_tool application using Rhino. Originally this was going to be a single article, but it turns out to be a two-fer.

The code [...]]]></description>
		<wfw:commentRss>http://4thmouse.com/index.php/2008/03/11/embedding-rhino-part-i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Converting hex to Binary in Java Too</title>
		<link>http://4thmouse.com/index.php/2008/03/05/converting-hex-to-binary-in-java-too/</link>
		<comments>http://4thmouse.com/index.php/2008/03/05/converting-hex-to-binary-in-java-too/#comments</comments>
		<pubDate>Thu, 06 Mar 2008 01:47:18 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Binary]]></category>
		<category><![CDATA[Hex]]></category>

		<guid isPermaLink="false">http://4thmouse.com/index.php/2008/03/05/converting-hex-to-binary-in-java-too/</guid>
		<description><![CDATA[So apparently the hex to binary in 4 languages portion of this web page is what gets the most google hits and who am I to argue? So without further ado, hex to binary in Java as well&#8230;

The Program
So to recap what I want to do, I want to take an ASCII hex string on [...]]]></description>
		<wfw:commentRss>http://4thmouse.com/index.php/2008/03/05/converting-hex-to-binary-in-java-too/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java&#8217;s @Override Annotation</title>
		<link>http://4thmouse.com/index.php/2008/02/28/javas-override-attribute/</link>
		<comments>http://4thmouse.com/index.php/2008/02/28/javas-override-attribute/#comments</comments>
		<pubDate>Thu, 28 Feb 2008 18:49:26 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[attributes]]></category>
		<category><![CDATA[override]]></category>

		<guid isPermaLink="false">http://4thmouse.com/index.php/2008/02/28/javas-override-attribute/</guid>
		<description><![CDATA[Most people are aware of java annotations by now, but I&#8217;m not sure everyone knows about @Override. They really should.

Java annotations provide a way of annotating classes, methods, and member variables with meta data. This is useful in and of itself for projects like junit and jaxb but the java language developers also added some [...]]]></description>
		<wfw:commentRss>http://4thmouse.com/index.php/2008/02/28/javas-override-attribute/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using Javacc</title>
		<link>http://4thmouse.com/index.php/2008/02/19/using-javacc/</link>
		<comments>http://4thmouse.com/index.php/2008/02/19/using-javacc/#comments</comments>
		<pubDate>Tue, 19 Feb 2008 05:30:16 +0000</pubDate>
		<dc:creator>mike</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://4thmouse.com/index.php/2008/02/19/using-javacc/</guid>
		<description><![CDATA[If you want to parse a custom language in java then Javacc is your tool. At the moment this is probably more a reminder to myself than a great article for anyone else to read, but as you find it useful feel free to take a look. More after the link&#8230;

What is Javacc?
Javacc is a [...]]]></description>
		<wfw:commentRss>http://4thmouse.com/index.php/2008/02/19/using-javacc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

