package org.xenei.jdbc4sparql.impl.virtual;
import java.util.ArrayList;
import java.util.List;
import org.xenei.jdbc4sparql.iface.Column;
import org.xenei.jdbc4sparql.iface.Schema;
import org.xenei.jdbc4sparql.iface.Table;
import org.xenei.jdbc4sparql.iface.TableDef;
import org.xenei.jdbc4sparql.iface.name.TableName;
import org.xenei.jdbc4sparql.impl.AbstractTable;
public class VirtualTable extends AbstractTable {
public static final String SYSTEM_TABLE = "system";
public static final String NAME = "";
private final Schema schema;
private final TableName tableName;
private final List<Column> columns;
private TableDef tableDef;
public VirtualTable(final Schema schema) {
this(schema, SYSTEM_TABLE);
}
public VirtualTable(final Schema schema, final String name) {
this.tableName = schema.getName().getTableName(name);
this.columns = new ArrayList<Column>();
this.schema = schema;
}
@Override
public void delete() {
// does nothing
}
@Override
public List<Column> getColumnList() {
return columns;
}
@Override
public TableName getName() {
return tableName;
}
@Override
public String getQuerySegmentFmt() {
return null;
}
@Override
public String getRemarks() {
return "";
}
@Override
public Schema getSchema() {
return schema;
}
@Override
public Table getSuperTable() {
return null;
}
@Override
public TableDef getTableDef() {
return tableDef;
}
@Override
public String getType() {
return "Virtual";
}
@Override
public boolean hasQuerySegments() {
return false;
}
}