1 30 package com.genimen.djeneric.tools.strongtyper; 31 32 import com.genimen.djeneric.repository.DjExtent; 33 import com.genimen.djeneric.repository.DjPersistenceManager; 34 35 public class CursorGenerator extends Generator 36 { 37 DjExtent _extent; 38 DjPersistenceManager _mgr; 39 40 public CursorGenerator(DjPersistenceManager mgr) 41 { 42 _mgr = mgr; 43 } 44 45 public DjExtent getExtent() 46 { 47 return _extent; 48 } 49 50 public void setExtent(DjExtent extent) 51 { 52 _extent = extent; 53 } 54 55 public String getCursorInterfaceName() 56 { 57 return getCursorInterfaceName(getExtent()); 58 } 59 60 public String getClassName() 61 { 62 return getCursorClassName(getExtent()) + (isAbstract() ? getGeneratedSuffix() : ""); 63 } 64 65 public String getPackageName() 66 { 67 return getImplPackageName(); 68 } 69 70 public String getCode() throws Exception 71 { 72 StringBuffer code = new StringBuffer (5000); 73 if (getPackageName().trim().length() > 0) code.append("package " + getPackageName() + ";\n\n"); 74 75 code.append("import " + getItfPackageName() + ".*;\n"); 76 code.append("import com.genimen.djeneric.repository.*;\n\n" 77 + "import com.genimen.djeneric.repository.exceptions.*;\n"); 78 code.append(StrongTyper.getRegenerationTags(1)); 79 code.append("public class " + getClassName()); 80 code.append(" implements " + getCursorInterfaceName()); 81 82 code.append("\n{\n"); 83 84 code.append(" private DjCursor _cursor;\n"); 85 86 code.append("\n protected " + getClassName() + "(DjCursor cursor) throws DjenericException\n" + " {\n" 87 + " _cursor = cursor;\n" + " }\n"); 88 89 code.append(" public " + getInterfaceName(getExtent()) + " getNext() throws " + getExceptionClassName() + "\n" 90 + " {\n" + " try\n" + " {\n" + " return (" + getInterfaceName(getExtent()) 91 + ") _cursor.getNext();\n" + " }\n" + " catch(Exception x)\n" + " {\n" + " throw new " 92 + getExceptionClassName() + "(x);\n" + " }\n" + " }\n\n"); 93 94 code.append("\n public void close() throws " + getExceptionClassName() + "\n" + " {\n" + " try\n" + " {\n" 95 + " _cursor.close();\n" + " }\n" + " catch(Exception x)\n" + " {\n" + " throw new " 96 + getExceptionClassName() + "(x);\n" + " }\n" + " }\n\n"); 97 98 code.append(StrongTyper.getRegenerationTags(0)); 99 code.append("}\n"); 100 101 return code.toString(); 102 } 103 104 } | Popular Tags |