Class: ClassDefManager

@nginstack/engine/lib/classdef/ClassDefManager~ ClassDefManager


new ClassDefManager( [opt_options])

Possui a finalidade de obter as definições de uma classe, configuradas através dos scripts x-class associados a classe. A definição de uma classe herda todas as configurações existentes da classe mãe.

Uma instância global do ClassDefManager é criada na inicialização da sessão JavaScript do Framework, publicada pela variável global classDefManager. O uso esta instância global maximiza a reutilização do cache de instâncias de x-class, melhorando o desempenho e reduzindo o consumo de memória do sistema.

Parameters:
Name Type Argument Description
opt_options Object | Record.<*, *> <optional>

DataSets opcionais de arquivos virtuais (vfs) e de classes (classe).

Members


<static> constructors

Determina quais são os construtores que serão utilizados nos métodos getViewDef e getViewDef


<static> protectedFieldEvents :Array.<string>

Eventos que não devem ser utilizadas no contexto de modelo caso o modo estrito esteja habilitado para a classe Field.

Type:
  • Array.<string>
See:

<static> protectedFieldProperties :Array.<string>

Propriedades que não devem ser utilizadas no contexto de modelo caso o modo estrito esteja habilitado para a classe Field.

Type:
  • Array.<string>
See:

<static> protectedModelDefEvents :Array.<string>

Eventos que não devem ser utilizadas no contexto de modelo caso o modo estrito esteja habilitado para a classe ModelDef.

Type:
  • Array.<string>
See:

<static> protectedModelDefProperties :Array.<string>

Propriedades que não devem ser utilizadas no contexto de modelo caso o modo estrito esteja habilitado para a classe ModelDef.

Type:
  • Array.<string>
See:

getClassDefBySource

Obtém uma definição de visão da classe com base no código fonte informado. A definição herdará todas as configurações da classe informada pelo parâmetro parent.

Deprecated:
  • Prefira usar o método ClassDefManager#getViewDefBySource.

strictMode :boolean

Responsável por controlar o modo estrito a nível de base.

Type:
  • boolean

Methods


<static> getInstance()

Retorna a instância global do ClassDefManager compartilhada com toda a sessão.

Returns:
Type
ClassDefManager

clearCache()

Apaga o cache, forçando que novas chamadas remontem as instâncias do cache.


getClassDef(classKey [, opt_ignoredClassKeys])

Obtém a definição da classe da chave informada. A definição obtida por esse método é composta por declarações executadas a partir dos arquivos de model e x-class respectivamente e que se encontram dentro da classe. Os arquivos de mime-type application/x-class que possuem extensão *.ic são considerados deprecated para uso comum de modelo e visão, eles apenas serão responsáveis por definir configurações.

Parameters:
Name Type Argument Description
classKey number

Chave da classe.

opt_ignoredClassKeys Array.<number> <optional>

Array de chaves de arquivos que devem ser ignorados.

Deprecated:
  • Prefira utilizar ClassDefManager.getViewDef
Returns:

Definição visão da classe.

Type
ModelDef

getClassDefVersion(classKey)

Calcula a versão da definição da classe. A versão é um valor calculado com base nos registros envolvidos na construção da definição da classe.

Parameters:
Name Type Description
classKey number

Classe da definição.

Deprecated:
  • Utilize #getDefVersion.
Returns:

Um valor opaco que deve apenas ser usado em comparações para detectar se uma classDef deve ser reconstruído para refletir possíveis modificações.

Type
number

getConfig(classKey [, opt_options])

Obtém a definição de classe da chave informada. A definição obtida por esse método é composta por declarações executadas a partir dos arquivos de configuração que se encontra dentro da classe.

Parameters:
Name Type Argument Description
classKey number
opt_options Object | Record.<*, *> <optional>

Opções para obter a definição do modelo. Array de chaves de arquivos que devem ser ignorados.

Returns:

Definição visão da classe.

Type
ConfigDef

getConfigDefBySource(src, parent)

Obtém uma definição de configuração da classe com base no código fonte informado. A definição herdará todas as configurações da classe informada pelo parâmetro parent.

Parameters:
Name Type Description
src string

Código fonte que contém a definição. Deve possui o formato de um x-class.

parent number

Classe que terá a definição herdada. Caso não seja informado, será considerado root.

Returns:

Definição da classe.

Type
ModelDef

getDefVersion(classKey, sourceType)

Calcula a versão da definição da classe. A versão é um valor calculado com base nos registros envolvidos na construção da definição da classe.

Parameters:
Name Type Description
classKey number

Classe da definição.

sourceType string

Tipo da definição que está sendo obtida.

Returns:

Um valor opaco que deve apenas ser usado em comparações para detectar se uma classDef deve ser reconstruído para refletir possíveis modificações.

Type
number

getHierarchicalClasses(classKey)

Retorna um array contendo toda a hierarquia da classe informada até root.

Parameters:
Name Type Description
classKey number

Classe que terá a hierarquia montada.

Returns:

Um array das chaves das classes, sendo o primeiro elemento a classe informada e a última a classe root.

Type
Array.<number>

getModelDef(classKey [, opt_options])

Obtém a definição da classe da chave informada. A definição obtida por esse método é composta por declarações executadas a partir dos arquivos de model e x-class respectivamente e que se encontram dentro da classe.

Os arquivos de mime-type application/x-class que possuem extensão *.ic são considerados deprecated para uso comum de modelo e visão, eles apenas serão responsáveis por definir configurações. Quando getModelDef for chamado para uma classe que não está em modo estrito, as definições antigas de eventos, nos arquivos de mime-type application/x-class, não registrarão os listeners para serem executadas durante o disparo da pilha do evento.

Parameters:
Name Type Argument Description
classKey number

Chave da classe.

opt_options Object | Record.<*, *> <optional>

Opções para obter a definição do modelo. Array de chaves de arquivos que devem ser ignorados.

Returns:

Definição de modelo da classe.

Type
ModelDef

getModelDefBySource(src, parent [, opt_classKey])

Obtém uma definição de modelo da classe com base no código fonte informado. A definição herdará todas as configurações da classe informada pelo parâmetro parent.

Parameters:
Name Type Argument Description
src string

Código fonte que contém a definição. Deve possui o formato de um x-class.

parent number

Classe que terá a definição herdada. Caso não seja informado, será considerado root.

opt_classKey number <optional>

Classe na qual o código deverá ser avaliado. Caso seja, informado, o modo estrito será ativo caso essa classe tenha essa configuração habilitada.

Returns:

Definição da classe.

Type
ModelDef

getViewDef(classKey [, opt_options])

Obtém a definição da classe da chave informada. A definição obtida por esse método é composta por declarações executadas a partir dos arquivos de model e x-class respectivamente e que se encontram dentro da classe. Os arquivos de mime-type application/x-class que possuem extensão *.ic são considerados deprecated para uso comum de modelo e visão, eles apenas serão responsáveis por definir configurações.

Parameters:
Name Type Argument Description
classKey number

Chave da classe.

opt_options Object | Record.<*, *> <optional>

Opções para obter a definição do modelo. Array de chaves de arquivos que devem ser ignorados.

Returns:

Definição visão da classe.

Type
ModelDef

getViewDefBySource(src, parent)

Obtém uma definição de visão da classe com base no código fonte informado. A definição herdará todas as configurações da classe informada pelo parâmetro parent.

Parameters:
Name Type Description
src string

Código fonte que contém a definição. Deve possui o formato de um x-class.

parent number

Classe que terá a definição herdada. Caso não seja informado, será considerado root.

Returns:

Definição da classe.

Type
ModelDef

hasOwnModelDef(classKey)

Verifica se a classe informada tem alguma definição de modelo específica, ou seja, que não herda todas as definições da sua classe mãe.

Parameters:
Name Type Description
classKey number

Classe a ser verificada.

See:
Returns:

True se a classe difere da definição da sua classe mãe.

Type
boolean

hasOwnViewDef(classKey)

Verifica se a classe informada tem alguma definição de visão específica, ou seja, que não herda todas as definições da sua classe mãe.

Parameters:
Name Type Description
classKey number

Classe a ser verificada.

See:
Returns:

True se a classe difere da definição da sua classe mãe.

Type
boolean