new IJoinManager(parent)
Classe responsável por criar e gerenciar joins.
Parameters:
Name | Type | Description |
---|---|---|
parent |
Object | Objeto ao qual a instância desta classe estará ligada. Pode ser um objeto do tipo IQuery ou qualquer outro objeto que possua a propriedade iQuery publicada. |
Methods
-
createExplicitJoin(iQueryJoin, Tipo)
-
Cria joins de forma explícita
Parameters:
Name Type Description iQueryJoin
IQuery Objeto IQuery que representa a tabela estrangeira.
Tipo
string de join que será realizado (LEFT OUTER, INNER)
Returns:
Instância da classe IClauseJoin que representa a cláusula join que está sendo declarada.
- Type
- IClauseJoin
-
createImplicitJoin(fieldName)
-
Cria joins a partir do uso do "." no nome dos campos.
Parameters:
Name Type Description fieldName
string Nome do campo.
Returns:
Objeto contendo o nome real do campo e o IQuery ao qual ele pertence.
- Type
- object
-
fieldCanBeNull(fieldName)
-
Indica se o campo pode ser null devido a outer left join's onde a chave estrangeira é null.
Parameters:
Name Type Description fieldName
string Nome do campo.
Returns:
True se o campo puder ser null.
- Type
- boolean
-
getJoinSql()
-
Retorna o SQL que representa a cláusula JOIN.
-
getWhereSql()
-
Retorna o SQL que representa a cláusula where contida nos IQueries estrangeiros.
-
iQueryInJoinList(iQuery)
-
Indica se o objeto IQuery informado está na lista de joins deste objeto. Servirá para evitar a redeclaração de joins caso mais de um campo acessado pelo "." seja derivado do mesmo campo lookup.
Parameters:
Name Type Description iQuery
IQuery IQuery que deve ter sua existência verificada na lista de joins deste objeto.
Returns:
Retorna true caso o objeto conste na lista de joins.
- Type
- boolean