diff options
Diffstat (limited to 'plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBSchemaElement.java')
-rw-r--r-- | plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBSchemaElement.java | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBSchemaElement.java b/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBSchemaElement.java index c421770e7a..56ad7399b2 100644 --- a/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBSchemaElement.java +++ b/plugins/org.eclipse.net4j.db/src/org/eclipse/net4j/spi/db/DBSchemaElement.java @@ -98,6 +98,22 @@ public abstract class DBSchemaElement extends DBNamedElement implements IDBSchem protected abstract void collectElements(List<IDBSchemaElement> elements); + public final <T extends IDBSchemaElement> T getElement(Class<T> type, String name) + { + name = name(name); + for (IDBSchemaElement element : getElements()) + { + if (element.getName() == name && type.isAssignableFrom(element.getClass())) + { + @SuppressWarnings("unchecked") + T result = (T)element; + return result; + } + } + + return null; + } + public final void accept(IDBSchemaVisitor visitor) { try |