package com.github.ewanld.visitor.codegen;

public class JavaClass {
	private final String packageName;
	private final String simpleName;
	private final boolean recursive;

	public JavaClass(String fullName, boolean recursive) {
		this.recursive = recursive;
		final int dotIndex = fullName.lastIndexOf('.');
		packageName = fullName.substring(0, dotIndex);
		simpleName = fullName.substring(dotIndex + 1);
	}

	public String getPackageName() {
		return packageName;
	}

	public String getSimpleName() {
		return simpleName;
	}

	/**
	 * Return package name + class (simple) name.
	 */
	public String getFullName() {
		return packageName + "." + simpleName;
	}

	public boolean isRecursive() {
		return recursive;
	}

}

@@ -39,16 +39,141 @@
 gen;%0D%0A%0D%0A
+/**%0D%0A * Represents a java class. We do not use %7B@code Class%3CT%3E%7D since the class may or may not exist in the classpath.%0D%0A */%0D%0A
 public c
@@ -294,24 +294,207 @@
 cursive;%0D%0A%0D%0A
+%09/**%0D%0A%09 * @param fullName%0D%0A%09 *            package name + class name%0D%0A%09 * @param recursive%0D%0A%09 *            True if the class references itself in its children, false otherwise.%0D%0A%09 */%0D%0A
 %09public Java

add javadoc