Skip to content

Commit bfd942f

Browse files
committed
Get simple type name
1 parent e5811ba commit bfd942f

File tree

1 file changed

+41
-3
lines changed

1 file changed

+41
-3
lines changed

schemacrawler-api/src/main/java/schemacrawler/utility/MetaDataUtility.java

Lines changed: 41 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,13 @@
2626
import schemacrawler.schema.Column;
2727
import schemacrawler.schema.ColumnReference;
2828
import schemacrawler.schema.CrawlInfo;
29+
import schemacrawler.schema.DatabaseObject;
30+
import schemacrawler.schema.Function;
2931
import schemacrawler.schema.Index;
3032
import schemacrawler.schema.IndexColumn;
3133
import schemacrawler.schema.JavaSqlTypeGroup;
3234
import schemacrawler.schema.PartialDatabaseObject;
35+
import schemacrawler.schema.Procedure;
3336
import schemacrawler.schema.Routine;
3437
import schemacrawler.schema.Schema;
3538
import schemacrawler.schema.Sequence;
@@ -39,6 +42,7 @@
3942
import schemacrawler.schema.TableConstraintColumn;
4043
import schemacrawler.schema.TableReference;
4144
import schemacrawler.schema.TableRelationshipType;
45+
import schemacrawler.schema.View;
4246
import schemacrawler.schemacrawler.Identifiers;
4347
import schemacrawler.schemacrawler.SchemaCrawlerOptions;
4448
import us.fatehi.utility.UtilityMarker;
@@ -64,6 +68,16 @@ public String toString() {
6468
}
6569
}
6670

71+
public enum SimpleDatabaseObjectType {
72+
unknown,
73+
table,
74+
view,
75+
procedure,
76+
function,
77+
synonym,
78+
sequence;
79+
}
80+
6781
public static Collection<List<String>> allIndexCoumnNames(final Table table) {
6882
return indexCoumnNames(table, false);
6983
}
@@ -195,6 +209,30 @@ public static String getColumnsListAsString(
195209
return joinColumns(columns, false, identifiers);
196210
}
197211

212+
public static SimpleDatabaseObjectType getSimpleTypeName(final DatabaseObject databaseObject) {
213+
if (databaseObject == null) {}
214+
if (databaseObject instanceof Synonym) {
215+
return SimpleDatabaseObjectType.synonym;
216+
}
217+
if (databaseObject instanceof Sequence) {
218+
return SimpleDatabaseObjectType.sequence;
219+
}
220+
if (databaseObject instanceof Function) {
221+
return SimpleDatabaseObjectType.function;
222+
}
223+
if (databaseObject instanceof Procedure) {
224+
return SimpleDatabaseObjectType.procedure;
225+
}
226+
// NOTE: Check View before Table, since View is a subclass of Table
227+
if (databaseObject instanceof View) {
228+
return SimpleDatabaseObjectType.view;
229+
}
230+
if (databaseObject instanceof Table) {
231+
return SimpleDatabaseObjectType.table;
232+
}
233+
return SimpleDatabaseObjectType.unknown;
234+
}
235+
198236
public static boolean isForeignKeyUnique(final TableReference tableRef) {
199237
if (tableRef == null) {
200238
return false;
@@ -221,9 +259,9 @@ public static String joinColumns(
221259
}
222260
final JavaSqlTypeGroup javaSqlTypeGroup =
223261
column.getColumnDataType().getJavaSqlType().getJavaSqlTypeGroup();
224-
if ((!omitLargeObjectColumns
225-
|| ((javaSqlTypeGroup != JavaSqlTypeGroup.large_object)
226-
&& (javaSqlTypeGroup != JavaSqlTypeGroup.object)))) {
262+
if (!omitLargeObjectColumns
263+
|| javaSqlTypeGroup != JavaSqlTypeGroup.large_object
264+
&& javaSqlTypeGroup != JavaSqlTypeGroup.object) {
227265
columnsList.add(identifiers.quoteName(column.getName()));
228266
}
229267
}

0 commit comments

Comments
 (0)