String class_impl_name = getClassImplName(type.getId()); String class_name = TypeGenerator.getClassName(type.getId()); String get_factory = "getStatic" + FactoryGenerator.getFactoryClassName(apiName) + "()";
String class_impl_name = className(type); String class_name = TypeGenerator.className(type.getId()); String get_factory = "getStatic" + FactoryGenerator.className(apiName) + "()";
	private void genTypeClassImpl(Type type) {		String class_impl_name = getClassImplName(type.getId());		String class_name = TypeGenerator.getClassName(type.getId());		String get_factory = "getStatic" + FactoryGenerator.getFactoryClassName(apiName) + "()";       			println("abstract public class " + class_impl_name + " extends " + 			GenericConstructorGenerator.getConstructorClassName(apiName));			println("{");			println("  static " + class_name + " fromString(String str)");			println("  {");			println("    aterm.ATerm trm = " + get_factory + ".parse(str);");			println("    return fromTerm(trm);");			println("  }");			println("  static " + class_name + " fromTextFile(InputStream stream) " +				"throws aterm.ParseError, IOException");			println("  {");			println("    aterm.ATerm trm = " + get_factory + ".readFromTextFile(stream);");			println("    return fromTerm(trm);");			println("  }");			println("  public boolean isEqual(" + class_name + " peer)");			println("  {");			println("    return term.isEqual(peer.toTerm());");			println("  }");		println("  public static " + class_name + " fromTerm(aterm.ATerm trm)");		println("  {");		println("    " + class_name + " tmp;");		genFromTermCalls(type);		println();		println("    throw new RuntimeException(\"This is not a " + class_name + ": \" + trm);" );		println("  }");		println();		genTypeDefaultProperties(type);		genDefaultGetAndSetMethods(type);		println();		println("}");		println();				}