001package bradleyross.opensource.jackcess; 002import com.healthmarketscience.jackcess.DataType; 003/** 004 * Static methods that are designed to aid in the use 005 * of the Jackcess software to read MDB files. 006 * @author Bradley Ross 007 * 008 */ 009public class helpers 010{ 011 /** 012 * There are no constructors for this method since 013 * all of the methods are static. 014 */ 015 protected helpers() 016 {} 017 /** 018 * Returns a string object representing the value of 019 * a value belonging to the 020 * {@link com.healthmarketscience.jackcess.DataType} 021 * class. 022 * @param valueIn Type of database column 023 * @return String indicating type of value 024 */ 025 public static String decodeDataType(DataType valueIn) 026 { 027 String working = null; 028 if (valueIn == DataType.BINARY) { working="BINRY"; } 029 else if (valueIn == DataType.BOOLEAN) { working="BOOLEAN"; } 030 else if (valueIn == DataType.BYTE) { working="BYTE"; } 031 else if (valueIn == DataType.DOUBLE) { working="DOUBLE"; } 032 else if (valueIn == DataType.FLOAT) { working="FLOAT"; } 033 else if (valueIn == DataType.INT) { working="INT"; } 034 else if (valueIn == DataType.LONG) { working="LONG"; } 035 else if (valueIn == DataType.MEMO) { working="MEMO"; } 036 else if (valueIn == DataType.MONEY) { working="MONEY"; } 037 else if (valueIn == DataType.NUMERIC) { working="NUMERIC"; } 038 else if (valueIn == DataType.SHORT_DATE_TIME) 039 { working = "SHORT_DATE_TIME"; } 040 else if (valueIn == DataType.TEXT) { working="TEXT"; } 041 else if (valueIn == DataType.UNKNOWN_0D) 042 { working = "UNKNOWN_OD"; } 043 else {working="UNKNOWN"; } 044 return working; 045 } 046 /** 047 * Prints an object that may belong to one of several 048 * classes. 049 * <p>The first step is to test if the object is 050 * equal to null, since you can't determine the 051 * class of a null object. If the object is 052 * equal to null, the string **null value** 053 * is returned.</p> 054 * @param o Object to be printed 055 * @return String containing value of object 056 * @see java.lang.Integer 057 * @see java.lang.Short 058 * @see java.lang.Long 059 * @see java.lang.Float 060 * @see java.lang.Double 061 * @see java.lang.Boolean 062 */ 063 public static String printObject (Object o) 064 { 065 if (o == null) { return "**null value**"; } 066 String working = "**bad value**"; 067 String className = o.getClass().getName(); 068 try 069 { 070 if (className.equalsIgnoreCase("java.lang.String")) 071 { working = (String) o; } 072 else if (className.equalsIgnoreCase("java.lang.Boolean")) 073 { working = ((Boolean) o).toString(); } 074 else if (className.equalsIgnoreCase("java.lang.Double")) 075 { working = ((Double) o).toString(); } 076 else if (className.equalsIgnoreCase("java.lang.Float")) 077 { working = ((Float) o).toString(); } 078 else if (className.equalsIgnoreCase("java.lang.Long")) 079 { working = ((Long) o).toString(); } 080 else if (className.equalsIgnoreCase("java.lang.Integer")) 081 { working = ((Integer) o).toString(); } 082 else if (className.equalsIgnoreCase("java.lang.Short")) 083 { working = ((Short) o).toString(); } 084 else 085 { working = className + " has no rules"; } 086 } 087 catch (Exception e) 088 { 089 System.out.println("Unable to print value " + className); 090 } 091 return working; 092 } 093}