Introduction of XSQL
[controller.git] / opendaylight / md-sal / sal-dom-xsql / src / main / java / org / opendaylight / controller / md / sal / dom / xsql / XSQLBluePrint.java
1 package org.opendaylight.controller.md.sal.dom.xsql;
2
3 import java.lang.reflect.InvocationHandler;
4 import java.lang.reflect.Method;
5 import java.lang.reflect.ParameterizedType;
6 import java.lang.reflect.Proxy;
7 import java.lang.reflect.Type;
8 import java.sql.Connection;
9 import java.sql.DatabaseMetaData;
10 import java.sql.ResultSet;
11 import java.sql.RowIdLifetime;
12 import java.sql.SQLException;
13 import java.util.ArrayList;
14 import java.util.HashMap;
15 import java.util.HashSet;
16 import java.util.List;
17 import java.util.Map;
18 import java.util.Set;
19
20 public class XSQLBluePrint implements DatabaseMetaData {
21
22     public static final String CACHE_FILE_NAME = "BluePrintCache.dat";
23
24     private Map<String, XSQLBluePrintNode> tableNameToBluePrint = new HashMap<String, XSQLBluePrintNode>();
25     private Map<String, Map<String,XSQLBluePrintNode>> odlNameToBluePrint = new HashMap<String, Map<String,XSQLBluePrintNode>>();
26
27     private boolean cacheLoadedSuccessfuly = false;
28     private DatabaseMetaData myProxy = null;
29
30     public static final String replaceAll(String source, String toReplace,
31         String withThis) {
32         int index = source.indexOf(toReplace);
33         int index2 = 0;
34         StringBuffer result = new StringBuffer();
35         while (index != -1) {
36             result.append(source.substring(index2, index));
37             result.append(withThis);
38             index2 = index + toReplace.length();
39             index = source.indexOf(toReplace, index2);
40         }
41         if (index2 < source.length()) {
42             result.append(source.substring(index2));
43         }
44         return result.toString();
45     }
46
47     public XSQLBluePrint() {
48     }
49
50     private class NQLBluePrintProxy implements InvocationHandler {
51         public Object invoke(Object proxy, Method method, Object[] args)
52             throws Throwable {
53             System.out.println("Method " + method);
54             return method.invoke(XSQLBluePrint.this, args);
55         }
56     }
57
58     public DatabaseMetaData getProxy() {
59         if (myProxy == null) {
60             try {
61                 myProxy = (DatabaseMetaData) Proxy
62                     .newProxyInstance(getClass().getClassLoader(),
63                         new Class[] {DatabaseMetaData.class},
64                         new NQLBluePrintProxy());
65             } catch (Exception err) {
66                 err.printStackTrace();
67             }
68         }
69         return myProxy;
70     }
71
72     /*
73     public void loadBluePrintCache(String hostName) {
74         try {
75             ObjectInputStream in = new ObjectInputStream(
76                 new FileInputStream(hostName + "-" + CACHE_FILE_NAME));
77             cache = (Map) in.readObject();
78             in.close();
79             cacheLoadedSuccessfuly = true;
80         } catch (Exception err) {
81             //err.printStackTrace();
82         }
83     }*/
84
85     public XSQLBluePrintNode[] getBluePrintNodeByODLTableName(String odlTableName) {
86         Map<String,XSQLBluePrintNode> map = this.odlNameToBluePrint.get(odlTableName);
87         if(map==null) return null;
88         return map.values().toArray(new XSQLBluePrintNode[map.size()]);
89     }
90
91     public XSQLBluePrintNode getBluePrintNodeByTableName(String tableName) {
92         if (tableName.indexOf(".") != -1) {
93             tableName = tableName.substring(tableName.lastIndexOf(".") + 1);
94         }
95
96         XSQLBluePrintNode node = tableNameToBluePrint.get(tableName);
97
98         if (node != null) {
99             return node;
100         }
101
102         for (XSQLBluePrintNode n : tableNameToBluePrint.values()) {
103             if (n.getBluePrintNodeName().endsWith(tableName)) {
104                 return n;
105             }
106         }
107
108         for (XSQLBluePrintNode n : tableNameToBluePrint.values()) {
109             if (n.getBluePrintNodeName().toLowerCase().endsWith(tableName.toLowerCase())) {
110                 return n;
111             }
112         }
113
114         for (XSQLBluePrintNode n : tableNameToBluePrint.values()) {
115             if (n.getBluePrintNodeName().toLowerCase().equals(tableName.toLowerCase())) {
116                 return n;
117             }
118         }
119
120         for (XSQLBluePrintNode n : tableNameToBluePrint.values()) {
121             if (n.getBluePrintNodeName().toLowerCase().indexOf(tableName.toLowerCase())!= -1) {
122                 return n;
123             }
124         }
125         return null;
126     }
127
128
129     public boolean isCacheLoaded() {
130         return cacheLoadedSuccessfuly;
131     }
132
133     private static Map<Class, Set<Class>> superClassMap = new HashMap<Class, Set<Class>>();
134
135     public static Set<Class> getInheritance(Class myObjectClass,
136         Class returnType) {
137
138         if (returnType != null && myObjectClass.equals(returnType)) {
139             return new HashSet<Class>();
140         }
141         Set<Class> result = superClassMap.get(myObjectClass);
142         if (result != null) {
143             return result;
144         }
145         result = new HashSet<Class>();
146         superClassMap.put(myObjectClass, result);
147         if (returnType != null) {
148             if (!returnType.equals(myObjectClass)) {
149                 Class mySuperClass = myObjectClass.getSuperclass();
150                 while (mySuperClass != null) {
151                     result.add(mySuperClass);
152                     mySuperClass = mySuperClass.getSuperclass();
153                 }
154                 result.addAll(collectInterfaces(myObjectClass));
155             }
156         }
157         return result;
158     }
159
160     public static Set<Class> collectInterfaces(Class cls) {
161         Set<Class> result = new HashSet();
162         Class myInterfaces[] = cls.getInterfaces();
163         if (myInterfaces != null) {
164             for (Class in : myInterfaces) {
165                 result.add(in);
166                 result.addAll(collectInterfaces(in));
167             }
168         }
169         return result;
170     }
171
172     public void addToBluePrintCache(XSQLBluePrintNode blNode) {
173         this.tableNameToBluePrint.put(blNode.getBluePrintNodeName(), blNode);
174         Map<String,XSQLBluePrintNode> map = this.odlNameToBluePrint.get(blNode.getODLTableName());
175         if(map==null){
176             map = new HashMap<String,XSQLBluePrintNode>();
177             this.odlNameToBluePrint.put(blNode.getODLTableName(),map);
178         }
179         map.put(blNode.getBluePrintNodeName(), blNode);
180     }
181
182     public Class getGenericType(ParameterizedType type) {
183         Type[] typeArguments = type.getActualTypeArguments();
184         for (Type typeArgument : typeArguments) {
185             if (typeArgument instanceof ParameterizedType) {
186                 ParameterizedType pType = (ParameterizedType) typeArgument;
187                 return (Class) pType.getRawType();
188             } else if (typeArgument instanceof Class) {
189                 return (Class) typeArgument;
190             }
191         }
192         return null;
193     }
194
195     public Class getMethodReturnTypeFromGeneric(Method m) {
196         Type rType = m.getGenericReturnType();
197         if (rType instanceof ParameterizedType) {
198             return getGenericType((ParameterizedType) rType);
199         }
200         return null;
201     }
202
203     public List<String> getAllTableNames() {
204         List<String> names = new ArrayList<String>();
205         for (XSQLBluePrintNode n : this.tableNameToBluePrint.values()) {
206             if (!n.isModule() && !n.getColumns().isEmpty()) {
207                 names.add(n.getBluePrintNodeName());
208             }
209         }
210         return names;
211
212     }
213
214     public List<String> getInterfaceNames(XSQLBluePrintNode node) {
215         Set<XSQLBluePrintNode> children = node.getChildren();
216         List<String> names = new ArrayList<String>();
217         for (XSQLBluePrintNode n : children) {
218             if (!n.isModule() && !n.getColumns().isEmpty()) {
219                 names.add(n.toString());
220             }
221             names.addAll(getInterfaceNames(n));
222         }
223         return names;
224     }
225
226     @Override
227     public boolean allProceduresAreCallable() throws SQLException {
228         return false;
229     }
230
231     @Override
232     public boolean allTablesAreSelectable() throws SQLException {
233         return true;
234     }
235
236     @Override
237     public boolean autoCommitFailureClosesAllResultSets() throws SQLException {
238         // TODO Auto-generated method stub
239         return false;
240     }
241
242     @Override
243     public boolean dataDefinitionCausesTransactionCommit() throws SQLException {
244         // TODO Auto-generated method stub
245         return false;
246     }
247
248     @Override
249     public boolean dataDefinitionIgnoredInTransactions() throws SQLException {
250         // TODO Auto-generated method stub
251         return false;
252     }
253
254     @Override
255     public boolean deletesAreDetected(int type) throws SQLException {
256         // TODO Auto-generated method stub
257         return false;
258     }
259
260     @Override
261     public boolean doesMaxRowSizeIncludeBlobs() throws SQLException {
262         // TODO Auto-generated method stub
263         return false;
264     }
265
266     @Override
267     public ResultSet getAttributes(String catalog, String schemaPattern,
268         String typeNamePattern, String attributeNamePattern)
269         throws SQLException {
270         // TODO Auto-generated method stub
271         return null;
272     }
273
274     @Override
275     public ResultSet getBestRowIdentifier(String catalog, String schema,
276         String table, int scope, boolean nullable) throws SQLException {
277         // TODO Auto-generated method stub
278         return null;
279     }
280
281     @Override
282     public ResultSet getCatalogs() throws SQLException {
283         // TODO Auto-generated method stub
284         return null;
285     }
286
287     @Override
288     public String getCatalogSeparator() throws SQLException {
289         // TODO Auto-generated method stub
290         return null;
291     }
292
293     @Override
294     public String getCatalogTerm() throws SQLException {
295         // TODO Auto-generated method stub
296         return null;
297     }
298
299     @Override
300     public ResultSet getClientInfoProperties() throws SQLException {
301         // TODO Auto-generated method stub
302         return null;
303     }
304
305     @Override
306     public ResultSet getColumnPrivileges(String catalog, String schema,
307         String table, String columnNamePattern) throws SQLException {
308         // TODO Auto-generated method stub
309         return null;
310     }
311
312     @Override
313     public ResultSet getColumns(String catalog, String schemaPattern,
314         String tableNamePattern, String columnNamePattern)
315         throws SQLException {
316         // TODO Auto-generated method stub
317         return null;
318     }
319
320     @Override
321     public Connection getConnection() throws SQLException {
322         // TODO Auto-generated method stub
323         return null;
324     }
325
326     @Override
327     public ResultSet getCrossReference(String parentCatalog,
328         String parentSchema, String parentTable, String foreignCatalog,
329         String foreignSchema, String foreignTable) throws SQLException {
330         // TODO Auto-generated method stub
331         return null;
332     }
333
334     @Override
335     public int getDatabaseMajorVersion() throws SQLException {
336         return 0;
337     }
338
339     @Override
340     public int getDatabaseMinorVersion() throws SQLException {
341         // TODO Auto-generated method stub
342         return 1;
343     }
344
345     @Override
346     public String getDatabaseProductName() throws SQLException {
347         return "VNE Query Language";
348     }
349
350     @Override
351     public String getDatabaseProductVersion() throws SQLException {
352         return "0.1";
353     }
354
355     @Override
356     public int getDefaultTransactionIsolation() throws SQLException {
357         // TODO Auto-generated method stub
358         return 0;
359     }
360
361     @Override
362     public int getDriverMajorVersion() {
363         // TODO Auto-generated method stub
364         return 0;
365     }
366
367     @Override
368     public int getDriverMinorVersion() {
369         // TODO Auto-generated method stub
370         return 0;
371     }
372
373     @Override
374     public String getDriverName() throws SQLException {
375         // TODO Auto-generated method stub
376         return null;
377     }
378
379     @Override
380     public String getDriverVersion() throws SQLException {
381         // TODO Auto-generated method stub
382         return null;
383     }
384
385     @Override
386     public ResultSet getExportedKeys(String catalog, String schema,
387         String table)
388         throws SQLException {
389         // TODO Auto-generated method stub
390         return null;
391     }
392
393     @Override
394     public String getExtraNameCharacters() throws SQLException {
395         // TODO Auto-generated method stub
396         return null;
397     }
398
399     @Override
400     public ResultSet getFunctionColumns(String catalog, String schemaPattern,
401         String functionNamePattern, String columnNamePattern)
402         throws SQLException {
403         // TODO Auto-generated method stub
404         return null;
405     }
406
407     @Override
408     public ResultSet getFunctions(String catalog, String schemaPattern,
409         String functionNamePattern) throws SQLException {
410         // TODO Auto-generated method stub
411         return null;
412     }
413
414     @Override
415     public String getIdentifierQuoteString() throws SQLException {
416         // TODO Auto-generated method stub
417         return null;
418     }
419
420     @Override
421     public ResultSet getImportedKeys(String catalog, String schema,
422         String table)
423         throws SQLException {
424         // TODO Auto-generated method stub
425         return null;
426     }
427
428     @Override
429     public ResultSet getIndexInfo(String catalog, String schema, String table,
430         boolean unique, boolean approximate) throws SQLException {
431         // TODO Auto-generated method stub
432         return null;
433     }
434
435     @Override
436     public int getJDBCMajorVersion() throws SQLException {
437         // TODO Auto-generated method stub
438         return 0;
439     }
440
441     @Override
442     public int getJDBCMinorVersion() throws SQLException {
443         // TODO Auto-generated method stub
444         return 0;
445     }
446
447     @Override
448     public int getMaxBinaryLiteralLength() throws SQLException {
449         // TODO Auto-generated method stub
450         return 0;
451     }
452
453     @Override
454     public int getMaxCatalogNameLength() throws SQLException {
455         // TODO Auto-generated method stub
456         return 0;
457     }
458
459     @Override
460     public int getMaxCharLiteralLength() throws SQLException {
461         // TODO Auto-generated method stub
462         return 0;
463     }
464
465     @Override
466     public int getMaxColumnNameLength() throws SQLException {
467         // TODO Auto-generated method stub
468         return 0;
469     }
470
471     @Override
472     public int getMaxColumnsInGroupBy() throws SQLException {
473         // TODO Auto-generated method stub
474         return 0;
475     }
476
477     @Override
478     public int getMaxColumnsInIndex() throws SQLException {
479         // TODO Auto-generated method stub
480         return 0;
481     }
482
483     @Override
484     public int getMaxColumnsInOrderBy() throws SQLException {
485         // TODO Auto-generated method stub
486         return 0;
487     }
488
489     @Override
490     public int getMaxColumnsInSelect() throws SQLException {
491         // TODO Auto-generated method stub
492         return 0;
493     }
494
495     @Override
496     public int getMaxColumnsInTable() throws SQLException {
497         // TODO Auto-generated method stub
498         return 0;
499     }
500
501     @Override
502     public int getMaxConnections() throws SQLException {
503         // TODO Auto-generated method stub
504         return 0;
505     }
506
507     @Override
508     public int getMaxCursorNameLength() throws SQLException {
509         // TODO Auto-generated method stub
510         return 0;
511     }
512
513     @Override
514     public int getMaxIndexLength() throws SQLException {
515         // TODO Auto-generated method stub
516         return 0;
517     }
518
519     @Override
520     public int getMaxProcedureNameLength() throws SQLException {
521         // TODO Auto-generated method stub
522         return 0;
523     }
524
525     @Override
526     public int getMaxRowSize() throws SQLException {
527         // TODO Auto-generated method stub
528         return 0;
529     }
530
531     @Override
532     public int getMaxSchemaNameLength() throws SQLException {
533         // TODO Auto-generated method stub
534         return 0;
535     }
536
537     @Override
538     public int getMaxStatementLength() throws SQLException {
539         // TODO Auto-generated method stub
540         return 0;
541     }
542
543     @Override
544     public int getMaxStatements() throws SQLException {
545         // TODO Auto-generated method stub
546         return 0;
547     }
548
549     @Override
550     public int getMaxTableNameLength() throws SQLException {
551         // TODO Auto-generated method stub
552         return 0;
553     }
554
555     @Override
556     public int getMaxTablesInSelect() throws SQLException {
557         // TODO Auto-generated method stub
558         return 0;
559     }
560
561     @Override
562     public int getMaxUserNameLength() throws SQLException {
563         // TODO Auto-generated method stub
564         return 0;
565     }
566
567     @Override
568     public String getNumericFunctions() throws SQLException {
569         // TODO Auto-generated method stub
570         return null;
571     }
572
573     @Override
574     public ResultSet getPrimaryKeys(String catalog, String schema, String table)
575         throws SQLException {
576         // TODO Auto-generated method stub
577         return null;
578     }
579
580     @Override
581     public ResultSet getProcedureColumns(String catalog, String schemaPattern,
582         String procedureNamePattern, String columnNamePattern)
583         throws SQLException {
584         // TODO Auto-generated method stub
585         return null;
586     }
587
588     @Override
589     public ResultSet getProcedures(String catalog, String schemaPattern,
590         String procedureNamePattern) throws SQLException {
591         // TODO Auto-generated method stub
592         return null;
593     }
594
595     @Override
596     public String getProcedureTerm() throws SQLException {
597         // TODO Auto-generated method stub
598         return null;
599     }
600
601     @Override
602     public int getResultSetHoldability() throws SQLException {
603         // TODO Auto-generated method stub
604         return 0;
605     }
606
607     @Override
608     public RowIdLifetime getRowIdLifetime() throws SQLException {
609         // TODO Auto-generated method stub
610         return null;
611     }
612
613     @Override
614     public ResultSet getSchemas() throws SQLException {
615         // TODO Auto-generated method stub
616         return null;
617     }
618
619     @Override
620     public ResultSet getSchemas(String catalog, String schemaPattern)
621         throws SQLException {
622         // TODO Auto-generated method stub
623         return null;
624     }
625
626     @Override
627     public String getSchemaTerm() throws SQLException {
628         // TODO Auto-generated method stub
629         return null;
630     }
631
632     @Override
633     public String getSearchStringEscape() throws SQLException {
634         // TODO Auto-generated method stub
635         return null;
636     }
637
638     @Override
639     public String getSQLKeywords() throws SQLException {
640         // TODO Auto-generated method stub
641         return null;
642     }
643
644     @Override
645     public int getSQLStateType() throws SQLException {
646         // TODO Auto-generated method stub
647         return 0;
648     }
649
650     @Override
651     public String getStringFunctions() throws SQLException {
652         // TODO Auto-generated method stub
653         return null;
654     }
655
656     @Override
657     public ResultSet getSuperTables(String catalog, String schemaPattern,
658         String tableNamePattern) throws SQLException {
659         // TODO Auto-generated method stub
660         return null;
661     }
662
663     @Override
664     public ResultSet getSuperTypes(String catalog, String schemaPattern,
665         String typeNamePattern) throws SQLException {
666         // TODO Auto-generated method stub
667         return null;
668     }
669
670     @Override
671     public String getSystemFunctions() throws SQLException {
672         // TODO Auto-generated method stub
673         return null;
674     }
675
676     @Override
677     public ResultSet getTablePrivileges(String catalog, String schemaPattern,
678         String tableNamePattern) throws SQLException {
679         // TODO Auto-generated method stub
680         return null;
681     }
682
683     @Override
684     public ResultSet getTables(String catalog, String schemaPattern,
685         String tableNamePattern, String[] types) throws SQLException {
686         return new TablesResultSet(this);
687     }
688
689     @Override
690     public ResultSet getTableTypes() throws SQLException {
691         // TODO Auto-generated method stub
692         return null;
693     }
694
695     @Override
696     public String getTimeDateFunctions() throws SQLException {
697         // TODO Auto-generated method stub
698         return null;
699     }
700
701     @Override
702     public ResultSet getTypeInfo() throws SQLException {
703         // TODO Auto-generated method stub
704         return null;
705     }
706
707     @Override
708     public ResultSet getUDTs(String catalog, String schemaPattern,
709         String typeNamePattern, int[] types) throws SQLException {
710         // TODO Auto-generated method stub
711         return null;
712     }
713
714     @Override
715     public String getURL() throws SQLException {
716         // TODO Auto-generated method stub
717         return null;
718     }
719
720     @Override
721     public String getUserName() throws SQLException {
722         // TODO Auto-generated method stub
723         return null;
724     }
725
726     @Override
727     public ResultSet getVersionColumns(String catalog, String schema,
728         String table) throws SQLException {
729         // TODO Auto-generated method stub
730         return null;
731     }
732
733     @Override
734     public boolean insertsAreDetected(int type) throws SQLException {
735         // TODO Auto-generated method stub
736         return false;
737     }
738
739     @Override
740     public boolean isCatalogAtStart() throws SQLException {
741         // TODO Auto-generated method stub
742         return false;
743     }
744
745     @Override
746     public boolean isReadOnly() throws SQLException {
747         // TODO Auto-generated method stub
748         return false;
749     }
750
751     @Override
752     public boolean locatorsUpdateCopy() throws SQLException {
753         // TODO Auto-generated method stub
754         return false;
755     }
756
757     @Override
758     public boolean nullPlusNonNullIsNull() throws SQLException {
759         // TODO Auto-generated method stub
760         return false;
761     }
762
763     @Override
764     public boolean nullsAreSortedAtEnd() throws SQLException {
765         // TODO Auto-generated method stub
766         return false;
767     }
768
769     @Override
770     public boolean nullsAreSortedAtStart() throws SQLException {
771         // TODO Auto-generated method stub
772         return false;
773     }
774
775     @Override
776     public boolean nullsAreSortedHigh() throws SQLException {
777         // TODO Auto-generated method stub
778         return false;
779     }
780
781     @Override
782     public boolean nullsAreSortedLow() throws SQLException {
783         // TODO Auto-generated method stub
784         return false;
785     }
786
787     @Override
788     public boolean othersDeletesAreVisible(int type) throws SQLException {
789         // TODO Auto-generated method stub
790         return false;
791     }
792
793     @Override
794     public boolean othersInsertsAreVisible(int type) throws SQLException {
795         // TODO Auto-generated method stub
796         return false;
797     }
798
799     @Override
800     public boolean othersUpdatesAreVisible(int type) throws SQLException {
801         // TODO Auto-generated method stub
802         return false;
803     }
804
805     @Override
806     public boolean ownDeletesAreVisible(int type) throws SQLException {
807         // TODO Auto-generated method stub
808         return false;
809     }
810
811     @Override
812     public boolean ownInsertsAreVisible(int type) throws SQLException {
813         // TODO Auto-generated method stub
814         return false;
815     }
816
817     @Override
818     public boolean ownUpdatesAreVisible(int type) throws SQLException {
819         // TODO Auto-generated method stub
820         return false;
821     }
822
823     @Override
824     public boolean storesLowerCaseIdentifiers() throws SQLException {
825         // TODO Auto-generated method stub
826         return false;
827     }
828
829     @Override
830     public boolean storesLowerCaseQuotedIdentifiers() throws SQLException {
831         // TODO Auto-generated method stub
832         return false;
833     }
834
835     @Override
836     public boolean storesMixedCaseIdentifiers() throws SQLException {
837         // TODO Auto-generated method stub
838         return false;
839     }
840
841     @Override
842     public boolean storesMixedCaseQuotedIdentifiers() throws SQLException {
843         // TODO Auto-generated method stub
844         return false;
845     }
846
847     @Override
848     public boolean storesUpperCaseIdentifiers() throws SQLException {
849         // TODO Auto-generated method stub
850         return false;
851     }
852
853     @Override
854     public boolean storesUpperCaseQuotedIdentifiers() throws SQLException {
855         // TODO Auto-generated method stub
856         return false;
857     }
858
859     @Override
860     public boolean supportsAlterTableWithAddColumn() throws SQLException {
861         // TODO Auto-generated method stub
862         return false;
863     }
864
865     @Override
866     public boolean supportsAlterTableWithDropColumn() throws SQLException {
867         // TODO Auto-generated method stub
868         return false;
869     }
870
871     @Override
872     public boolean supportsANSI92EntryLevelSQL() throws SQLException {
873         // TODO Auto-generated method stub
874         return false;
875     }
876
877     @Override
878     public boolean supportsANSI92FullSQL() throws SQLException {
879         // TODO Auto-generated method stub
880         return false;
881     }
882
883     @Override
884     public boolean supportsANSI92IntermediateSQL() throws SQLException {
885         // TODO Auto-generated method stub
886         return false;
887     }
888
889     @Override
890     public boolean supportsBatchUpdates() throws SQLException {
891         // TODO Auto-generated method stub
892         return false;
893     }
894
895     @Override
896     public boolean supportsCatalogsInDataManipulation() throws SQLException {
897         // TODO Auto-generated method stub
898         return false;
899     }
900
901     @Override
902     public boolean supportsCatalogsInIndexDefinitions() throws SQLException {
903         // TODO Auto-generated method stub
904         return false;
905     }
906
907     @Override
908     public boolean supportsCatalogsInPrivilegeDefinitions()
909         throws SQLException {
910         // TODO Auto-generated method stub
911         return false;
912     }
913
914     @Override
915     public boolean supportsCatalogsInProcedureCalls() throws SQLException {
916         // TODO Auto-generated method stub
917         return false;
918     }
919
920     @Override
921     public boolean supportsCatalogsInTableDefinitions() throws SQLException {
922         // TODO Auto-generated method stub
923         return false;
924     }
925
926     @Override
927     public boolean supportsColumnAliasing() throws SQLException {
928         // TODO Auto-generated method stub
929         return false;
930     }
931
932     @Override
933     public boolean supportsConvert() throws SQLException {
934         // TODO Auto-generated method stub
935         return false;
936     }
937
938     @Override
939     public boolean supportsConvert(int fromType, int toType)
940         throws SQLException {
941         // TODO Auto-generated method stub
942         return false;
943     }
944
945     @Override
946     public boolean supportsCoreSQLGrammar() throws SQLException {
947         // TODO Auto-generated method stub
948         return false;
949     }
950
951     @Override
952     public boolean supportsCorrelatedSubqueries() throws SQLException {
953         // TODO Auto-generated method stub
954         return false;
955     }
956
957     @Override
958     public boolean supportsDataDefinitionAndDataManipulationTransactions()
959         throws SQLException {
960         // TODO Auto-generated method stub
961         return false;
962     }
963
964     @Override
965     public boolean supportsDataManipulationTransactionsOnly()
966         throws SQLException {
967         // TODO Auto-generated method stub
968         return false;
969     }
970
971     @Override
972     public boolean supportsDifferentTableCorrelationNames()
973         throws SQLException {
974         // TODO Auto-generated method stub
975         return false;
976     }
977
978     @Override
979     public boolean supportsExpressionsInOrderBy() throws SQLException {
980         // TODO Auto-generated method stub
981         return false;
982     }
983
984     @Override
985     public boolean supportsExtendedSQLGrammar() throws SQLException {
986         // TODO Auto-generated method stub
987         return false;
988     }
989
990     @Override
991     public boolean supportsFullOuterJoins() throws SQLException {
992         // TODO Auto-generated method stub
993         return false;
994     }
995
996     @Override
997     public boolean supportsGetGeneratedKeys() throws SQLException {
998         // TODO Auto-generated method stub
999         return false;
1000     }
1001
1002     @Override
1003     public boolean supportsGroupBy() throws SQLException {
1004         // TODO Auto-generated method stub
1005         return false;
1006     }
1007
1008     @Override
1009     public boolean supportsGroupByBeyondSelect() throws SQLException {
1010         // TODO Auto-generated method stub
1011         return false;
1012     }
1013
1014     @Override
1015     public boolean supportsGroupByUnrelated() throws SQLException {
1016         // TODO Auto-generated method stub
1017         return false;
1018     }
1019
1020     @Override
1021     public boolean supportsIntegrityEnhancementFacility() throws SQLException {
1022         // TODO Auto-generated method stub
1023         return false;
1024     }
1025
1026     @Override
1027     public boolean supportsLikeEscapeClause() throws SQLException {
1028         // TODO Auto-generated method stub
1029         return false;
1030     }
1031
1032     @Override
1033     public boolean supportsLimitedOuterJoins() throws SQLException {
1034         // TODO Auto-generated method stub
1035         return false;
1036     }
1037
1038     @Override
1039     public boolean supportsMinimumSQLGrammar() throws SQLException {
1040         // TODO Auto-generated method stub
1041         return false;
1042     }
1043
1044     @Override
1045     public boolean supportsMixedCaseIdentifiers() throws SQLException {
1046         // TODO Auto-generated method stub
1047         return false;
1048     }
1049
1050     @Override
1051     public boolean supportsMixedCaseQuotedIdentifiers() throws SQLException {
1052         // TODO Auto-generated method stub
1053         return false;
1054     }
1055
1056     @Override
1057     public boolean supportsMultipleOpenResults() throws SQLException {
1058         // TODO Auto-generated method stub
1059         return false;
1060     }
1061
1062     @Override
1063     public boolean supportsMultipleResultSets() throws SQLException {
1064         // TODO Auto-generated method stub
1065         return false;
1066     }
1067
1068     @Override
1069     public boolean supportsMultipleTransactions() throws SQLException {
1070         // TODO Auto-generated method stub
1071         return false;
1072     }
1073
1074     @Override
1075     public boolean supportsNamedParameters() throws SQLException {
1076         // TODO Auto-generated method stub
1077         return false;
1078     }
1079
1080     @Override
1081     public boolean supportsNonNullableColumns() throws SQLException {
1082         // TODO Auto-generated method stub
1083         return false;
1084     }
1085
1086     @Override
1087     public boolean supportsOpenCursorsAcrossCommit() throws SQLException {
1088         // TODO Auto-generated method stub
1089         return false;
1090     }
1091
1092     @Override
1093     public boolean supportsOpenCursorsAcrossRollback() throws SQLException {
1094         // TODO Auto-generated method stub
1095         return false;
1096     }
1097
1098     @Override
1099     public boolean supportsOpenStatementsAcrossCommit() throws SQLException {
1100         // TODO Auto-generated method stub
1101         return false;
1102     }
1103
1104     @Override
1105     public boolean supportsOpenStatementsAcrossRollback() throws SQLException {
1106         // TODO Auto-generated method stub
1107         return false;
1108     }
1109
1110     @Override
1111     public boolean supportsOrderByUnrelated() throws SQLException {
1112         // TODO Auto-generated method stub
1113         return false;
1114     }
1115
1116     @Override
1117     public boolean supportsOuterJoins() throws SQLException {
1118         // TODO Auto-generated method stub
1119         return false;
1120     }
1121
1122     @Override
1123     public boolean supportsPositionedDelete() throws SQLException {
1124         // TODO Auto-generated method stub
1125         return false;
1126     }
1127
1128     @Override
1129     public boolean supportsPositionedUpdate() throws SQLException {
1130         // TODO Auto-generated method stub
1131         return false;
1132     }
1133
1134     @Override
1135     public boolean supportsResultSetConcurrency(int type, int concurrency)
1136         throws SQLException {
1137         // TODO Auto-generated method stub
1138         return false;
1139     }
1140
1141     @Override
1142     public boolean supportsResultSetHoldability(int holdability)
1143         throws SQLException {
1144         // TODO Auto-generated method stub
1145         return false;
1146     }
1147
1148     @Override
1149     public boolean supportsResultSetType(int type) throws SQLException {
1150         // TODO Auto-generated method stub
1151         return false;
1152     }
1153
1154     @Override
1155     public boolean supportsSavepoints() throws SQLException {
1156         // TODO Auto-generated method stub
1157         return false;
1158     }
1159
1160     @Override
1161     public boolean supportsSchemasInDataManipulation() throws SQLException {
1162         // TODO Auto-generated method stub
1163         return false;
1164     }
1165
1166     @Override
1167     public boolean supportsSchemasInIndexDefinitions() throws SQLException {
1168         // TODO Auto-generated method stub
1169         return false;
1170     }
1171
1172     @Override
1173     public boolean supportsSchemasInPrivilegeDefinitions() throws SQLException {
1174         // TODO Auto-generated method stub
1175         return false;
1176     }
1177
1178     @Override
1179     public boolean supportsSchemasInProcedureCalls() throws SQLException {
1180         // TODO Auto-generated method stub
1181         return false;
1182     }
1183
1184     @Override
1185     public boolean supportsSchemasInTableDefinitions() throws SQLException {
1186         // TODO Auto-generated method stub
1187         return false;
1188     }
1189
1190     @Override
1191     public boolean supportsSelectForUpdate() throws SQLException {
1192         // TODO Auto-generated method stub
1193         return false;
1194     }
1195
1196     @Override
1197     public boolean supportsStatementPooling() throws SQLException {
1198         // TODO Auto-generated method stub
1199         return false;
1200     }
1201
1202     @Override
1203     public boolean supportsStoredFunctionsUsingCallSyntax()
1204         throws SQLException {
1205         // TODO Auto-generated method stub
1206         return false;
1207     }
1208
1209     @Override
1210     public boolean supportsStoredProcedures() throws SQLException {
1211         // TODO Auto-generated method stub
1212         return false;
1213     }
1214
1215     @Override
1216     public boolean supportsSubqueriesInComparisons() throws SQLException {
1217         // TODO Auto-generated method stub
1218         return false;
1219     }
1220
1221     @Override
1222     public boolean supportsSubqueriesInExists() throws SQLException {
1223         // TODO Auto-generated method stub
1224         return false;
1225     }
1226
1227     @Override
1228     public boolean supportsSubqueriesInIns() throws SQLException {
1229         // TODO Auto-generated method stub
1230         return false;
1231     }
1232
1233     @Override
1234     public boolean supportsSubqueriesInQuantifieds() throws SQLException {
1235         // TODO Auto-generated method stub
1236         return false;
1237     }
1238
1239     @Override
1240     public boolean supportsTableCorrelationNames() throws SQLException {
1241         // TODO Auto-generated method stub
1242         return false;
1243     }
1244
1245     @Override
1246     public boolean supportsTransactionIsolationLevel(int level)
1247         throws SQLException {
1248         // TODO Auto-generated method stub
1249         return false;
1250     }
1251
1252     @Override
1253     public boolean supportsTransactions() throws SQLException {
1254         // TODO Auto-generated method stub
1255         return false;
1256     }
1257
1258     @Override
1259     public boolean supportsUnion() throws SQLException {
1260         // TODO Auto-generated method stub
1261         return false;
1262     }
1263
1264     @Override
1265     public boolean supportsUnionAll() throws SQLException {
1266         // TODO Auto-generated method stub
1267         return false;
1268     }
1269
1270     @Override
1271     public boolean updatesAreDetected(int type) throws SQLException {
1272         // TODO Auto-generated method stub
1273         return false;
1274     }
1275
1276     @Override
1277     public boolean usesLocalFilePerTable() throws SQLException {
1278         // TODO Auto-generated method stub
1279         return false;
1280     }
1281
1282     @Override
1283     public boolean usesLocalFiles() throws SQLException {
1284         // TODO Auto-generated method stub
1285         return false;
1286     }
1287
1288     @Override
1289     public boolean isWrapperFor(Class<?> iface) throws SQLException {
1290         // TODO Auto-generated method stub
1291         return false;
1292     }
1293
1294     @Override
1295     public <T> T unwrap(Class<T> iface) throws SQLException {
1296         // TODO Auto-generated method stub
1297         return null;
1298     }
1299
1300     @Override
1301     public ResultSet getPseudoColumns(String catalog, String schemaPattern,
1302         String tableNamePattern, String columnNamePattern)
1303         throws SQLException {
1304         // TODO Auto-generated method stub
1305         return null;
1306     }
1307
1308     @Override
1309     public boolean generatedKeyAlwaysReturned() throws SQLException {
1310         // TODO Auto-generated method stub
1311         return false;
1312     }
1313
1314 }