cdc.util.rdb.RdbIndex Maven / Gradle / Ivy
package cdc.util.rdb;
/**
* Index description.
*
* Its parent is a Table.
* Its name must be unique.
* Its content is:
*
* - Index columns
*
*
* @author Damien Carbonne
*
*/
public final class RdbIndex extends RdbElement {
private RdbIndexType type;
protected RdbIndex(String name,
RdbTable parent) {
super(name, parent, false);
}
@Override
public RdbElementKind getKind() {
return RdbElementKind.INDEX;
}
@Override
public RdbTable getParent() {
return (RdbTable) super.getParent();
}
public RdbTable getTable() {
return getParent();
}
public RdbIndexColumn createColumn(String name) {
return new RdbIndexColumn(name, this);
}
public Iterable getColumns() {
return getChildren(RdbIndexColumn.class);
}
public RdbIndexColumn getOptionalColumn(String name) {
return getFirstChild(RdbIndexColumn.class, name);
}
public RdbIndexColumn getColumn(String name) {
return notNull(getOptionalColumn(name), "index column", name);
}
public RdbIndexType getType() {
return type;
}
public void setType(RdbIndexType type) {
this.type = type;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy