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