All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cdc.util.rdb.RdbSchema Maven / Gradle / Ivy

There is a newer version: 0.9.0
Show newest version
package cdc.util.rdb;

/**
 * Schema description.
 * 

* Its parent is a Catalog.
* Its name must be unique.
* Its content is: *

    *
  • Tables *
  • User data types *
* * @author Damien Carbonne * */ public final class RdbSchema extends RdbElement { RdbSchema(String name, RdbCatalog parent) { super(name, parent, false); } @Override public RdbElementKind getKind() { return RdbElementKind.SCHEMA; } @Override public RdbCatalog getParent() { return (RdbCatalog) super.getParent(); } public RdbCatalog getCatalog() { return getParent(); } public RdbDatabase getDatabase() { return getCatalog().getDatabase(); } public RdbTable createTable(String name) { return new RdbTable(name, this); } public RdbTable getOptionalTable(String name) { return getFirstChild(RdbTable.class, name); } public RdbTable getTable(String name) { return notNull(getOptionalTable(name), "table", name); } public Iterable getTables() { return getChildren(RdbTable.class); } public RdbUserDataType createUserDataType(String name) { return new RdbUserDataType(name, this); } public RdbUserDataType getOptionalUserDataType(String name) { return getFirstChild(RdbUserDataType.class, name); } public RdbUserDataType getUserDataType(String name) { return notNull(getOptionalUserDataType(name), "user data type", name); } public Iterable getUserDataTypes() { return getChildren(RdbUserDataType.class); } public RdbFunction createFunction(String name) { return new RdbFunction(name, this); } public RdbFunction getOptionalFunction(String specificName) { for (final RdbFunction child : getFunctions()) { if (specificName.equals(child.getSpecificName())) { return child; } } return null; } public RdbFunction getFunction(String specificName) { return notNull(getOptionalFunction(specificName), "function", specificName); } public Iterable getFunctions() { return getChildren(RdbFunction.class); } public RdbProcedure createProcedure(String name) { return new RdbProcedure(name, this); } public RdbProcedure getOptionalProcedure(String specificName) { for (final RdbProcedure child : getProcedures()) { if (specificName.equals(child.getSpecificName())) { return child; } } return null; } public RdbProcedure getProcedure(String specificName) { return notNull(getOptionalProcedure(specificName), "procedure", specificName); } public Iterable getProcedures() { return getChildren(RdbProcedure.class); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy