abstract class KeyParserGroupBy<K> : KeyParser<K> where K : Comparable<K>, K : Serializable
(source)
Abstract class that extends the KeyParser interface.
The KeyParserGroupBy is an auxiliary abstract class that adds more information about the key that are needed to perform the groupBy operation.
All keys used in a groupBy query can be summarize as a pair (x,y) where x is the most significant part and identify a group and y is the least significant part that identify the range. The KeyParserGroupBy helps the Connector to identify the x and y part of a key.
<init> |
Abstract class that extends the KeyParser interface. KeyParserGroupBy() |
keyColumnsDefinitionDB |
It is the list of all the column names and their definition that identify a key. open val keyColumnsDefinitionDB: List<Pair<String, String>> |
leastSignificantDefinition |
abstract val leastSignificantDefinition: List<Pair<String, String>> |
mostSignificantDefinition |
abstract val mostSignificantDefinition: List<Pair<String, String>> |
bind |
Returns a key K. abstract fun bind(x: List<Any>, y: List<Any>): K |
group |
Returns the group of the passed composite key. abstract fun group(s: String): List<Any> |
lsp_geqDB |
DB query for 'greater than or equal' relationship. abstract fun lsp_geqDB(columnName: List<String>, y: List<Any>): String |
lsp_gtDB |
DB query for 'greater than' relationship. abstract fun lsp_gtDB(columnName: List<String>, y: List<Any>): String |
lsp_leqDB |
DB query for 'less than or equal' relationship. abstract fun lsp_leqDB(columnName: List<String>, y: List<Any>): String |
lsp_ltDB |
DB query for 'less than' relationship. abstract fun lsp_ltDB(columnName: List<String>, y: List<Any>): String |
most_neqDB |
Let k_min = (x_min, y_min). Let k_max = (x_max, y_max). abstract fun most_neqDB(columnNameMin: List<String>, columnNameMax: List<String>): String |
DepartmentEmployeesParser |
Example of KeyParserGroupBy class, managing a groupBy key: DepartmentEmployee. Group: the name of the department. Least significant key's component: Person. class DepartmentEmployeesParser : KeyParserGroupBy<DepartmentEmployee> |