import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

/**
 * Sample program, used for unit tests.
 */
public class HelloWorld {

	/**
	 * Constructor.
	 */
	public HelloWorld() {
		super();
	}
	
	/**
	 */
	public void SayHello() {
		System.out.println("Hello World!");
	}
	
	/**
	 */
	public void WhatsMyName() {
		System.out.println("FIRE");
	}
	
	public void NeverDie() {
		while(true) {
			try {
				Thread.sleep(9999);
			} catch(InterruptedException e) {
				// ignore
			}
		}
	}
	
	public void WasteSpace() {
		BufferedWriter writer = null; 
		
		try {
			File out = new File("garbage");
			writer = new BufferedWriter(new FileWriter(out));
			while(true)
				writer.write("nothing but junk");
		} catch(IOException e) {
			e.printStackTrace();
		} finally {
			try {
				if(writer != null)
					writer.close();
			} catch(IOException e) {
				// ignore
			}
		}
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		HelloWorld w = new HelloWorld();
		
		if(args.length == 0) {
			w.SayHello();
		} else if(args[0].equals("WhatsMyName")) {
			w.WhatsMyName();
		} else if(args[0].equals("NeverDie")) {
			w.NeverDie();
		} else if(args[0].equals("WasteSpace")) {
			w.WasteSpace();
		}
	}
}
