BoltNeo4jResultSetMetaData extends Neo4jResultSetMetaData { @Override public String getColumnClassName(int column) throws SQLException { Type type = this.columnType[column - 1]; if (InternalTypeSystem.TYPE_SYSTEM.NULL().equals(type)) { return null; } if(INTERNAL_TYPE_TO_CLASS_MAP.containsKey(type)){ return INTERNAL_TYPE_TO_CLASS_MAP.get(type).getName(); } return Object.class.getName(); } private  BoltNeo4jResultSetMetaData(List<Type> types, List<String> keys); static ResultSetMetaData newInstance(boolean debug, List<Type> types, List<String> keys); @Override int getColumnCount(); @Override String getColumnClassName(int column); @Override int getColumnType(int column); @Override String getColumnTypeName(int column);  }
@Test public void getColumnClassNameTest() throws SQLException { List<Type> types = Arrays.asList( InternalTypeSystem.TYPE_SYSTEM.STRING(), InternalTypeSystem.TYPE_SYSTEM.INTEGER(), InternalTypeSystem.TYPE_SYSTEM.BOOLEAN(), InternalTypeSystem.TYPE_SYSTEM.FLOAT(), InternalTypeSystem.TYPE_SYSTEM.NODE(), InternalTypeSystem.TYPE_SYSTEM.RELATIONSHIP(), InternalTypeSystem.TYPE_SYSTEM.PATH(), InternalTypeSystem.TYPE_SYSTEM.MAP(), InternalTypeSystem.TYPE_SYSTEM.ANY(), InternalTypeSystem.TYPE_SYSTEM.LIST(), InternalTypeSystem.TYPE_SYSTEM.NUMBER(), InternalTypeSystem.TYPE_SYSTEM.NULL() ); List<String> cols = Arrays.asList( "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L" ); ResultSetMetaData rsm = BoltNeo4jResultSetMetaData.newInstance(false, types, cols); assertEquals("java.lang.String", rsm.getColumnClassName(1)); assertEquals("java.lang.Long", rsm.getColumnClassName(2)); assertEquals("java.lang.Boolean", rsm.getColumnClassName(3)); assertEquals("java.lang.Double", rsm.getColumnClassName(4)); assertEquals("java.lang.Object", rsm.getColumnClassName(5)); assertEquals("java.lang.Object", rsm.getColumnClassName(6)); assertEquals("java.lang.Object", rsm.getColumnClassName(7)); assertEquals("java.util.Map", rsm.getColumnClassName(8)); assertEquals("java.lang.Object", rsm.getColumnClassName(9)); assertEquals("java.sql.Array", rsm.getColumnClassName(10)); assertEquals("java.lang.Double", rsm.getColumnClassName(11)); assertEquals(null, rsm.getColumnClassName(12)); }