01: /*
02: * Copyright 2004-2008 H2 Group. Licensed under the H2 License, Version 1.0
03: * (http://h2database.com/html/license.html).
04: * Initial Developer: H2 Group
05: */
06: package org.h2.table;
07:
08: import java.sql.SQLException;
09:
10: import org.h2.command.dml.Select;
11: import org.h2.value.Value;
12:
13: /**
14: * A column resolver is list of column (for example, a table) that can map a
15: * column name to an actual column.
16: */
17: public interface ColumnResolver {
18:
19: /**
20: * Get the table alias.
21: *
22: * @return the table alias
23: */
24: String getTableAlias();
25:
26: /**
27: * Get the column list.
28: *
29: * @return the column list
30: */
31: Column[] getColumns();
32:
33: /**
34: * Get the list of system columns, if any.
35: *
36: * @return the system columns
37: */
38: Column[] getSystemColumns();
39:
40: /**
41: * Get the schema name.
42: *
43: * @return the schema name
44: */
45: String getSchemaName();
46:
47: /**
48: * Get the value for the given column.
49: *
50: * @param column the column
51: * @return the value
52: */
53: Value getValue(Column column) throws SQLException;
54:
55: /**
56: * Get the table filter.
57: *
58: * @return the table filter
59: */
60: TableFilter getTableFilter();
61:
62: /**
63: * Get the select statement.
64: *
65: * @return the select statement
66: */
67: Select getSelect();
68:
69: }
|