Class: IJoinManager

@nginstack/engine/lib/iquery/IJoinManager~ IJoinManager


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