package org.batgen;

/**
 * Member variable types in a class.  We can have either
 * primitive types or wrapper class types based on whether
 * a field is required or not.   
 *
 */
public enum FieldType {
	INTEGER ( "INTEGER", "int",     "Integer",   "NUMBER" ),
	LONG    ( "LONG",    "long",    "Long",      "NUMBER" ),
	DOUBLE  ( "DOUBLE",  "double",  "Double",    "NUMBER" ),
	BOOLEAN ( "BOOLEAN", "boolean", "Boolean",   "NUMBER" ),
	DATE    ( "DATE",    "Date",    "Date",      "DATE" ),
	BLOB    ( "BLOB",    "byte[]",  "byte[]",    "BLOB" ),
	STRING  ( "STRING",  "String",  "String",    "VARCHAR2" ),
	TIMESTAMP ("TIMESTAMP",  "date",  "Date",    "TIMESTAMP");
	
	private String name;
	private String primativeType;
	private String wrapperType;
	private String sqlType;

	private FieldType( String name, String primativeType, String wrapperType, String sqlType ) {
		this.name = name;
		this.primativeType = primativeType;
		this.wrapperType  = wrapperType;
		this.sqlType = sqlType;
	}

	public String getName() {
		return name;
	}

	public String getPrimativeType() {
		return primativeType;
	}

	public String getWrapperType() {
		return wrapperType;
	}
	
	public String getSqlType() {
		return sqlType;
    }

}

@@ -199,17 +199,20 @@
 dType %7B%0A
-%09
+    
 INTEGER 
@@ -260,17 +260,20 @@
 BER%22 ),%0A
-%09
+    
 LONG    
@@ -321,17 +321,20 @@
 BER%22 ),%0A
-%09
+    
 DOUBLE  
@@ -382,17 +382,20 @@
 BER%22 ),%0A
-%09
+    
 BOOLEAN 
@@ -443,17 +443,20 @@
 BER%22 ),%0A
-%09
+    
 DATE    
@@ -502,17 +502,20 @@
 ATE%22 ),%0A
-%09
+    
 BLOB    
@@ -561,17 +561,20 @@
 LOB%22 ),%0A
-%09
+    
 STRING  
@@ -624,17 +624,20 @@
 AR2%22 ),%0A
-%09
+    
 TIMESTAM
@@ -687,19 +687,21 @@
 TAMP%22);%0A
-%09%0A%09
+%0A    
 private 
@@ -713,17 +713,20 @@
 g name;%0A
-%09
+    
 private 
@@ -743,25 +743,28 @@
 mativeType;%0A
-%09
+    
 private Stri
@@ -779,17 +779,20 @@
 erType;%0A
-%09
+    
 private 
@@ -808,17 +808,20 @@
 lType;%0A%0A
-%09
+    
 private 
@@ -905,18 +905,24 @@
 ype ) %7B%0A
-%09%09
+        
 this.nam
@@ -931,18 +931,24 @@
 = name;%0A
-%09%09
+        
 this.pri
@@ -971,26 +971,32 @@
 mativeType;%0A
-%09%09
+        
 this.wrapper
@@ -1016,18 +1016,24 @@
 erType;%0A
-%09%09
+        
 this.sql
@@ -1044,29 +1044,39 @@
  = sqlType;%0A
-%09%7D%0A%0A%09
+        %7D%0A%0A    
 public Strin
@@ -1085,26 +1085,32 @@
 getName() %7B%0A
-%09%09
+        
 return name;
@@ -1110,21 +1110,27 @@
 n name;%0A
-%09%7D%0A%0A%09
+    %7D%0A%0A    
 public S
@@ -1152,26 +1152,32 @@
 iveType() %7B%0A
-%09%09
+        
 return prima
@@ -1190,13 +1190,19 @@
 pe;%0A
-%09%7D%0A%0A%09
+    %7D%0A%0A    
 publ
@@ -1226,26 +1226,32 @@
 perType() %7B%0A
-%09%09
+        
 return wrapp
@@ -1262,14 +1262,19 @@
 pe;%0A
-%09%7D%0A%09%0A%09
+    %7D%0A%0A    
 publ
@@ -1302,10 +1302,16 @@
 ) %7B%0A
-%09%09
+        
 retu
@@ -1328,11 +1328,10 @@
 ;%0A    %7D%0A
-%0A
 %7D%0A

Update FieldType.java