Class Index | File Index

Classes


Class ngin.classdef.ModelDef


Extends .

Defined in: modeldef.js.

Class Summary
Constructor Attributes Constructor Name and Description
 
Abstração da definição do modelo de dados a partir de uma classe.
Field Summary
Field Attributes Field Name and Description
 
Objeto utilizado para guardar informações de cache associadas a uma definição de modelo de dados de uma classe.
 
Determina a existência de replicação de dados da tabela em disco.
 
Determina quais campos serão armazenados no cache local.
 
Determina como será armazenado o conteúdo dos arquivos da Vfs (campo iContent) desta classe: - true: serão armazenados na tabela iVfs, fazendo parte do cache local; - false: serão armazenados na tabela iVfsLob, não fazendo parte do cache local.
 
Indica a forma como se valida a mudança de classe dos registros.
 
Gestor de definições de classe.
 
Indica qual é o nome do campo na tabela que irá relacionar a classe no registro.
 
Ajuda sobre o que representa a tabela no nível da classe.
<static>  
ngin.classdef.ModelDef.datasourceDefaultFilters
Indica quais campos serão filtros da consulta de um datasource.
<static>  
ngin.classdef.ModelDef.dbIndexes
Índices que devem ser criados no banco de dados.
 
Indica em qual INDEX_SPACE os índices serão criados.
 
Chave primaria de uma tabela.
 
Indica em qual TABLE_SPACE as tabelas serão criadas.
 
Opções do adaptador de eventos comuns a todos os eventos adaptados.
 
Nome de execução desta classe.
 
Ordem de exibição da classe, quando exibida em menus ou em conjunto com classes irmãs.
 
Determina qual é a classe que é utilizada para construção de campos no Mapeamento objeto-relacional.
 
Campos definidos na classe de dados e na hierarquia de classes mãe.
 
Determina a ordem de pesquisa dentro do x-find nas classes.
 
Propriedade que indica se o justToGroup foi definido explicitamente para a classe corrente.
 
Ajuda conceitual sobre uma determinada classe.
<static>  
ngin.classdef.ModelDef.indexes
Índices que devem ser criados no cache local na inicialização do sistema.
 
Determina se a classe utilizada é somente para agrupamento.
 
Informa qual é o campo chave da tabela.
 
Logger utilizado pela API de definição de classes.
 
Informação de um determinado registro que será fornecida a partir de uma API implementada no servidor para ser exibida em casos de relação entre tabela(aka lookup).
 
Tipo de dado que representa o campo memo no banco.
 
Campo classe utilizado na tabela classe.
 
Máxima quantidade de ocorrências a serem pesquisadas durante a pesquisa de um x-finder.
 
Array com os campos criados ou potencialmente modificados na definição do modelo da classe de dados indicada por #key.
 
Array dos campos que foram criados ou possivelmente modificados durante a definição desta classe.
 
Conjunto dos campos que foram criados ou possivelmente modificados durante a definição desta classe.
 
Sessão do usuário que invocou a criação da definição de modelo.
 
Indica o tipo de fonte que foi utilizado para criar esta definição.
 
Nome da tabela que o modelo objeto-relacional da classe irá mapear.
 
Quantidade máxima de dias em que os logs serão mantidos na base.
 
Indica se os processos de atualização devem modificar a estrutura da tabela configurada no x-class.
 
Indica se os processos de atualização devem sincronizar os registros negativos da tabela configurada por esse x-class.
 
Nome do campo que guardará as versões do registro.
Method Summary
Method Attributes Method Name and Description
 
adaptEvent_(name, descriptor)
Cria um adaptador da API de eventos antiga (classe global Event) com a nova API ngin.event.Emitter.
 
Determina se os eventos declarados utilizando a API antiga antiga de eventos (onNomeEvento) serão ignorados.
 
Cria uma cópia desta definição de modelo de dados.
<static>  
ngin.classdef.ModelDef.declareArray(obj, name)
Declara um array dentro de um objeto, respeitando as definições declaradas na hierarquia de classes.
 
Declara um array dentro da instância de modelo, respeitando as definições declaradas na hierarquia de classes.
<static>  
ngin.classdef.ModelDef.declareCloneableObject(obj, propertyName, initialValue)
Declara um objeto que pode sofrer o processo de clonagem em um outro objeto.
 
declareCloneableObject(propertyName, initialValue)
Declara um objeto que pode sofrer o processo de clonagem.
<static>  
ngin.classdef.ModelDef.declareEvent(obj, name)
Declara um getter para um evento em um determinado objeto, respeitando as definições de hierarquia.
 
Declara um getter para um evento na definição de classe, respeitando as definições declaradas na hierarquia de classes.
<static>  
ngin.classdef.ModelDef.declareGetterOfObjectProperty(obj, propertyName, objectClassName)
Declara um Getter que manipula uma instância de uma determinada classe Javascript em um objeto, respeitando as definições declaradas na hierarquia de classes.
 
declareGetterOfObjectProperty(propertyName, objectClassName)
Declara um Getter que manipula uma instância de uma determinada classe Javascript na instância da camada de modelo, respeitando as definições declaradas na hierarquia de classes.
 
Declara um objeto na instância da camada de modelo, respeitando as definições declaradas na hierarquia de classes.
<static>  
ngin.classdef.ModelDef.declareObject(obj, name)
Declara um objeto em outro objeto respeitando as definições declaradas na hierarquia de classes.
 
field(name, type, size)
Obtém ou cria um campo na classe de dados.
 
Informa os atributos de um determinado arquivo na tabela iVfs.
 
findField(name)
Pesquisa por um campo definido dentro da classe, caso encontre, retorna o campo encontrado.
 
getClassDef(classKey)
Prefira usar @link{ngin.classdef.Manager.getViewDef}.
 
getClassDefWithEvent(eventName, skipCurrentClass)
Obtém a primeira definição da camada de visão na hierarquia com base no nome de um evento registrado por declareEvent.
 
getClassDefWithObjectProperty(propertyName, skipCurrentClass)
Obtém a primeira definição da camada de visão na hierarquia com base no nome de uma propriedade da API de definição.
 
Obtém uma expressão com os filtros extras para esta classe de dados.
 
Obtém os campos desta classe que foram configurados como filtro extra de permissão por meio da propriedade ngin.classdef.Field#permissionFilterFieldName.
 
Pega todos os campos definidos na classe e hierarquia de classes mãe.
 
getFieldsByProperty(propertyName)
Retorna uma lista de campos cuja propriedades tenham os valores informados.
 
Estrutura de dados de uma chave do banco DBKey.
 
getLookupDisplay(sender, value, event)
Obtém o valor de exibição a partir de um evento onLookupDisplay anexado a um objeto disparador.
 
getNormalizedDef(classKey)
Obtém uma instância da definição da classe de acordo com a herança que foi projetada para a hierarquia.
 
hasEvent(eventName)
Determina se um evento foi declarado na definição da classe.
 
hasObjectProperty(propertyName)
Determina se a definição de classe possui uma propriedade.
 
Determina se uma definição de classe declarou uma determinada propriedade.
 
Indica se há campos declarados nesta classe.
 
Indica se houve os atributos do arquivo foram informados nesta classe.
 
hideFiles(files)
Oculta os arquivos informados no menu principal.
 
init(opt_parentDef)
Método utilizado pelo gerenciador de classes para sinalizar que a definição deve ser inicializada.
 
Define justToGroup e hasOwnJustToGroup como false, implementando assim a definição padrão.
 
Este método cria ou seta as propriedades informadas com os valores informados em cada campo da definido nos parametros.
 
Cria uma representação JSON desta definição do modelo.
 
Retorna uma string que informa qual a chave do x-class ao qual a instância foi criada.
Class Detail
ngin.classdef.ModelDef()
Abstração da definição do modelo de dados a partir de uma classe. Pode ser entendido como um mapeamentos objeto-relacional, na camada MVC.
Field Detail
cache
Objeto utilizado para guardar informações de cache associadas a uma definição de modelo de dados de uma classe. Quando uma definição é modificada, todas as informações no cache associadas a ela são descartadas. O sistema também poderá realizar descarte das informações a qualquer momento por outros critérios, como limite do tamanho do cache ou redução do consumo de memória da aplicação.
Importante: como o cache a princípio é mantido durante toda a vida do sistema, não utilize-o para guardar dados de informações úteis apenas para um processamento específico que não será reutilizado em outro momento da vida de uma sessão.

cachedData
Determina a existência de replicação de dados da tabela em disco.

cachedFields
Determina quais campos serão armazenados no cache local. Conceito desligado na versão 4.0 ou superior.

cachedVfsContent
Determina como será armazenado o conteúdo dos arquivos da Vfs (campo iContent) desta classe: - true: serão armazenados na tabela iVfs, fazendo parte do cache local; - false: serão armazenados na tabela iVfsLob, não fazendo parte do cache local.

classChangePolicy
Indica a forma como se valida a mudança de classe dos registros.

classDefManager
Gestor de definições de classe.

classFieldName
Indica qual é o nome do campo na tabela que irá relacionar a classe no registro.

dataDictionary
Ajuda sobre o que representa a tabela no nível da classe. Aqui devem ser abordados assuntos técnicos e relacionados a estrutura e relacionamentos entre as tabelas

<static> ngin.classdef.ModelDef.datasourceDefaultFilters
Indica quais campos serão filtros da consulta de um datasource.
Deprecated:
Propriedade não mais utilizada pela API de fonte de dados.

<static> ngin.classdef.ModelDef.dbIndexes
Índices que devem ser criados no banco de dados. Cada item do array deve ser uma expressão de uma ou mais colunas, separadas por vírgula.
 this.dbIndexes.push('CLASSE');
 this.dbIndexes.push('UF,CLASSE');

dbIndexSpace
Indica em qual INDEX_SPACE os índices serão criados.

dbPrimaryKey
Chave primaria de uma tabela.

dbTableSpace
Indica em qual TABLE_SPACE as tabelas serão criadas.

defaultAdapterDescriptor_
Opções do adaptador de eventos comuns a todos os eventos adaptados. Essas opções poderão ser sobrepostas pela função adaptEvent_.

displayName
Nome de execução desta classe. Caso não seja informada, será o nome da classe que definiu este modelo.

displayOrder
Ordem de exibição da classe, quando exibida em menus ou em conjunto com classes irmãs. Se nenhum valor for fornecido, a ordem considerada é a ordem alfabética.

fieldClass
Determina qual é a classe que é utilizada para construção de campos no Mapeamento objeto-relacional. O método @link{ngin.classdef.ModelDef#field} retornará uma instância da classe apresentada nesta propriedade. Ou seja, se existir um campo criado para o nome de campo fornecido, uma instancia da classe em fieldClass é fornecido se não houver é criada uma e retornada.

fields
Campos definidos na classe de dados e na hierarquia de classes mãe.

findOrder
Determina a ordem de pesquisa dentro do x-find nas classes. A ordenação é realizada para todas as classes que possuem x-find na hierarquia da mãe para os filhos.

hasOwnJustToGroup
Propriedade que indica se o justToGroup foi definido explicitamente para a classe corrente.

help
Ajuda conceitual sobre uma determinada classe. É importante que o help não informe conceitos técnicos ou de interface. Essas informações devem estar descritas na propriedade dataDictionary.

<static> ngin.classdef.ModelDef.indexes
Índices que devem ser criados no cache local na inicialização do sistema.
Deprecated:
Propriedade não mais utilizado pelo Engine. Os valores declarados serão ignorados pelo sistema.

justToGroup
Determina se a classe utilizada é somente para agrupamento.

keyFieldName
Informa qual é o campo chave da tabela.

logger_
Logger utilizado pela API de definição de classes.

lookupDisplayFieldName
Informação de um determinado registro que será fornecida a partir de uma API implementada no servidor para ser exibida em casos de relação entre tabela(aka lookup).

memoDbType
Tipo de dado que representa o campo memo no banco. Esse tipo pode variar para os diversos bancos que o Engine suporta.

metaClass
Campo classe utilizado na tabela classe.

occurrenceLimit
Máxima quantidade de ocorrências a serem pesquisadas durante a pesquisa de um x-finder.

ownFields
Array com os campos criados ou potencialmente modificados na definição do modelo da classe de dados indicada por #key. Diferente de #fields, não farão parte desta coleção os campos herdados da classe-mãe que não tenham sido acessados ou modificados nesta definição de classe.

ownFieldsArray_
Array dos campos que foram criados ou possivelmente modificados durante a definição desta classe.

ownFieldsSet_
Conjunto dos campos que foram criados ou possivelmente modificados durante a definição desta classe. Estrutura auxiliar utilizada para controlar a inserção de campos distintos em #ownFieldsArray_.

session
Sessão do usuário que invocou a criação da definição de modelo.

sourceType
Indica o tipo de fonte que foi utilizado para criar esta definição.

tableName
Nome da tabela que o modelo objeto-relacional da classe irá mapear.

transactionLogMaxDays
Quantidade máxima de dias em que os logs serão mantidos na base. Para realizar a limpeza é necessário executar o processo localizado em: Admin > Auditoria > Limpar tabela de Log.

upgradeChangesTableStructure
Indica se os processos de atualização devem modificar a estrutura da tabela configurada no x-class. Deve ser true para as tabelas gerenciadas pelo Sistema e false nas tabelas criadas e mantidas por sistemas de terceiros.
Importante: Essa configuração deve ser realizada apenas em x-class que definem uma tabela por meio da propriedade tableName.

upgradeMustSyncRecords
Indica se os processos de atualização devem sincronizar os registros negativos da tabela configurada por esse x-class. Por padrão, apenas as tabelas que participam do cache local têm os seus registros sincronizados. Esse comportamento pode ser modificado por meio de uma configuração explícita desta propriedade.
Importante: Essa configuração deve ser realizada apenas em x-class que definem uma tabela por meio da propriedade tableName.
See:
#cachedData

versionFieldName
Nome do campo que guardará as versões do registro.
Method Detail
adaptEvent_(name, descriptor)
Cria um adaptador da API de eventos antiga (classe global Event) com a nova API ngin.event.Emitter. Esse adaptador terá os mesmos métodos de Event, mas os eventos registrados por eles serão adicionados como listeners por meio método on desta definição de dados.
Parameters:
{string} name
Nome do evento.
{ngin.event.AdapterDescriptor|Object} descriptor
Regras de como deve ser feita a adaptação do evento.

{boolean} canAddAdaptedListeners()
Determina se os eventos declarados utilizando a API antiga antiga de eventos (onNomeEvento) serão ignorados. Por padrão, os listeners adicionados utilizando a API antiga de eventos serão ignorados caso sejam definidos em um arquivo do tipo x-class quando solicitado o modelo (getModelDef) de uma classe que não está configurada em modo estrito.
Returns:
{boolean}

{ngin.classdef.ModelDef} clone()
Cria uma cópia desta definição de modelo de dados.
 var modelDef = classDefManager.getModelDef(ngin.keys.Classes.LICENSES);
 var modelDefWithoutEvents = modelDef.clone();
 modelDefWithoutEvents.offAll();
 modelDefWithoutEvents.fields.map(function (fld) {
   fld.offAll();
 });
Returns:
{ngin.classdef.ModelDef}

<static> ngin.classdef.ModelDef.declareArray(obj, name)
Declara um array dentro de um objeto, respeitando as definições declaradas na hierarquia de classes.
Parameters:
{ngin.classdef.ModelDef} obj
Objeto aonde o array será declarado.
{string} name
Nome do array que foi declarado.

declareArray(name)
Declara um array dentro da instância de modelo, respeitando as definições declaradas na hierarquia de classes.
Parameters:
{string} name
Nome do array que foi declarado.

<static> ngin.classdef.ModelDef.declareCloneableObject(obj, propertyName, initialValue)
Declara um objeto que pode sofrer o processo de clonagem em um outro objeto.
Parameters:
{ngin.classdef.ModelDef} obj
Objeto onde será criado a propriedade.
{string} propertyName
Nome da propriedade.
{*} initialValue
Valor inicial.

declareCloneableObject(propertyName, initialValue)
Declara um objeto que pode sofrer o processo de clonagem.
Parameters:
{string} propertyName
Nome da propriedade.
{*} initialValue
Valor inicial.

<static> ngin.classdef.ModelDef.declareEvent(obj, name)
Declara um getter para um evento em um determinado objeto, respeitando as definições de hierarquia.
Parameters:
{ngin.classdef.ModelDef} obj
Objeto que terá um evento declarado.
{string} name
Nome do evento

declareEvent(name)
Declara um getter para um evento na definição de classe, respeitando as definições declaradas na hierarquia de classes.
Parameters:
{string} name
Nome do evento.

<static> ngin.classdef.ModelDef.declareGetterOfObjectProperty(obj, propertyName, objectClassName)
Declara um Getter que manipula uma instância de uma determinada classe Javascript em um objeto, respeitando as definições declaradas na hierarquia de classes.
Parameters:
{ngin.classdef.ModelDef} obj
Objeto aonde o getter será declarado
{string} propertyName
Nome da propriedade.
{string} objectClassName
Nome da classe que irá construir uma instância.

declareGetterOfObjectProperty(propertyName, objectClassName)
Declara um Getter que manipula uma instância de uma determinada classe Javascript na instância da camada de modelo, respeitando as definições declaradas na hierarquia de classes.
Parameters:
{string} propertyName
Nome da propriedade.
{string} objectClassName
Nome da classe que irá construir uma instância.

declareObject(name)
Declara um objeto na instância da camada de modelo, respeitando as definições declaradas na hierarquia de classes.
Parameters:
{string} name
Nome do objeto.

<static> ngin.classdef.ModelDef.declareObject(obj, name)
Declara um objeto em outro objeto respeitando as definições declaradas na hierarquia de classes.
Parameters:
{ngin.classdef.ModelDef} obj
Objecto aonde será declarado o objeto.
{string} name
Nome do objeto.

{ngin.classdef.Field} field(name, type, size)
Obtém ou cria um campo na classe de dados. Este método retornará o campo existente com o nome informado ou criará um caso não exista. Nesse último caso, é obrigatório informar o tipo do campo. Tipos suportados:
"string" - Tipo utilizado para campos que conterão texto;
"password" - Tipo utilizado para campos que conterão senhas;
"masterdetail" - Tipo utilizado para criar uma relação de 1 para N entre duas classes. Para utilizar esse tipo de campo é obrigatório o preenchimento das seguintes propriedades:
- classKey: indica a classe de dados que contém os registros detalhes da relação. A classe de dados que definiu o campo do tipo "masterDetail" é a classe considerada mestre da relação;
- masterFieldNames: indica os campos da classe de dados mestre que devem ser utilizados para filtrar os registros da classe de dados detalhe.
- detailFieldNames: indica os campos da classe de dados detalhe que serão filtrados com os valores dos campos masterFieldNames da classe mestre.
Pseudo-código para obtenção dos registros detalhes:

   var tabelaDetalhe = classes.getCachedDataSet(field.classKey);
   var camposMestre = obtemValoresCampos(field.masterFieldNames);
   tabelaDetalhe.indexFieldNames = field.detailFieldNames;
   detail.setRange(camposMestre, camposMestre);


"integer" - Tipo utilizado para campos que conterão números inteiros;
"number" - Tipo utilizado para campos que conterão números decimais;
(por padrão terão duas casas decimais)
"latitude" - Tipo utilizado para campos que conterão números decimais
para representar latitudes;
(por padrão terão até cinco casas decimais e a parte
inteira conterá até três casas)
"longitude" - Tipo utilizado para campos que conterão números decimais
para representar longitudes;
(por padrão terão até cinco casas decimais e a parte
inteira conterá até três casas)
"angle" - Tipo utilizado para campos que conterão números decimais
para representar ângulos;
(por padrão terão duas casas decimais e a parte
inteira conterá até três casas.)
"memo" - Tipo utilizado para campos que conterão textos longos;
(mais de 256 caracteres)
"date" - Tipo utilizado para campos que conterão datas;
"combo" - Tipo utilizado para campos que conterão listas de opções
ou combinação de outros tipos;
"time" - Tipo utilizado para campos do que conterão horas. Utilizado
para trabalhar com tempo;
"boolean" - Tipo utilizado para campos que conterão valores lógicos ou booleanos;
"file" - Tipo utilizado para campos que conterão arquivos;
Parameters:
{string} name
Nome do campo a ser obtido ou criado.
{string=} type
Tipo do campo. Opcional quando for solicitado um campo existente.
{number=} size
Tamanho do campo em caracteres. Obrigatório apenas para os tipos "string" e "password".
Returns:
{ngin.classdef.Field}

{{display: boolean|displayName: string|displayOrder: number|permissionControlEnabled: boolean}} fileAttributes(vfsKey)
Informa os atributos de um determinado arquivo na tabela iVfs. Os atributos servem para informar se um arquivo será exibido, informar nome, ordem de exibição e permissão de controle. A tabela iVfs representa o sistema de arquivos virtuais, ou seja, são arquivos que estão sendo armazenados diretamente no banco e são replicados para o cache local
Parameters:
{number} vfsKey
Chave do arquivo.
Returns:
{{display: boolean|displayName: string|displayOrder: number|permissionControlEnabled: boolean}} Atributos do arquivo.

{ngin.classdef.Field} findField(name)
Pesquisa por um campo definido dentro da classe, caso encontre, retorna o campo encontrado.
Parameters:
{string} name
Nome do campo.
Returns:
{ngin.classdef.Field}

{ViewDef} getClassDef(classKey)
Prefira usar @link{ngin.classdef.Manager.getViewDef}.
Parameters:
classKey
Returns:
{ViewDef}

{ngin.classdef.ViewDef, *} getClassDefWithEvent(eventName, skipCurrentClass)
Obtém a primeira definição da camada de visão na hierarquia com base no nome de um evento registrado por declareEvent. A instância resultante é encontrada a partir da instância da camada de visão ou de modelo da classe corrente. Caso não encontre, nenhuma instância é retornada.
Parameters:
{string} eventName
Nome do evento.
{boolean=} skipCurrentClass
Escapar a classe corrente, se essa opção for true a busca pela instância irá iniciar a partir da classe pai. Em caso de não haver classe pai, a busca será iniciada pela classe Raiz.
Deprecated:
Este método suporta apenas os eventos customizados declarados pelo método #declareEvent, não podendo ser utilizado para os eventos padrão do sistema. Seu uso não é mais recomendado, devendo o seu uso ser substituído por uma lógica customizada equivalente. Ele será eliminado no futuro.
Returns:
{ngin.classdef.ViewDef} Definição da camada de visão obtida a partir de uma propriedade.
{*}

{ngin.classdef.ViewDef} getClassDefWithObjectProperty(propertyName, skipCurrentClass)
Obtém a primeira definição da camada de visão na hierarquia com base no nome de uma propriedade da API de definição. A instância resultante é encontrada a partir da instância da camada de visão ou de modelo da classe corrente. Caso não encontre, nenhuma instância é retornada.
Parameters:
{string} propertyName
Nome da propriedade
{boolean=} skipCurrentClass
Escapar a classe corrente, se essa opção for true a busca pela instância irá iniciar a partir da classe pai. Em caso de não haver classe pai, a busca será iniciada pela classe Raiz.
Returns:
{ngin.classdef.ViewDef} Definição da camada de visão obtida a partir de uma propriedade.

{string} getExtraFilterExpression()
Obtém uma expressão com os filtros extras para esta classe de dados. Os filtros extras são configurados por meio da propriedade ngin.classdef.Field#permissionFilterFieldName dos campos e possibilitam que o administrador configure permissões dos usuários levando em consideração outros campos além da classe do registro. Esse recurso é útil quando a classe do registro não é suficiente para segmentar corretamente as permissões dos usuários e outros campos, como o Estabelecimento associado ao registro, podem ser utilizados para determinar as permissões.
 var modelDef = classDefManager.getModelDef(ngin.keys.Classes.LICENSES);
 var filteredDataSet = classes.getCachedDataSet(ngin.keys.Classes.LICENSES, session.userKey,
   modelDef.getExtraFilterExpression());
Returns:
{string} Caso a classe tenha filtros extras configurados, será retornada uma expressão de filtro que consiste dos campos de permissões concatenados por ";". Caso o nome do campo seja diferente do campo de permissão, será utilizada a expressão "[field.name] in [field.permissionFilterFieldName]". A expressão retornada deve ser utilizada nas APIs de DataSet que filtram as permissões do usuário, como Classes#getCachedDataSet e DataSet#setView. Caso não haja filtros extras configurados, será retornada uma string vazia.
See:
#getExtraFilterFields
ngin.classdef.Field#permissionFilterFieldName

{Array} getExtraFilterFields()
Obtém os campos desta classe que foram configurados como filtro extra de permissão por meio da propriedade ngin.classdef.Field#permissionFilterFieldName.
 var modelDef = classDefManager.getModelDef(ngin.keys.Classes.LICENSES);
 var extraFilterFields = modelDef.getExtraFilterFields().
 if (extraFilterFields.length === 0) {
   this.alert('Classe de licenças não possui campos de filtro de permissão extra.');
 }
Returns:
{Array} Array com os campos que possuem a propriedade ngin.classdef.Field#permissionFilterFieldName informada.
See:
#getExtraFilterExpression
ngin.classdef.Field#permissionFilterFieldName

{StringList} getFieldsAsStringList()
Pega todos os campos definidos na classe e hierarquia de classes mãe. Irá obter um StringList a partir do fieldList da classe.
Deprecated:
Mantido apenas por compatibilidade para quem ainda precisa utilizar um StringList como repositório de fields
Returns:
{StringList} Objeto StringList com todos os campos definidos para a classe e com os definidos nas classes mãe

{Array} getFieldsByProperty(propertyName)
Retorna uma lista de campos cuja propriedades tenham os valores informados.
 //Propriedade e valor:
 //Nessa forma serão obtidos os campos que possuem as propriedades fornecidos
 //com os respectivos valores.
 getFieldsByProperty('prop', valor, 'prop2', valor2);

 //Array de propriedades e de valores:
 //Nessa forma serão fornecidos dois arrays, o primeiro array é o de propriedades
 //que se relaciona com o segundo array, que é o de valores, pelo índice.
 getFieldsByProperty(['prop', 'prop2'], [valor, valor2]);

 //Através de um callback
 //Nesta forma são obtidos os campos de acordo com a regra definida no callback.
 getFieldsByProperty(function (field) {
   return field.required === true;
 });
Parameters:
{...*} propertyName
Há multiplas formas de definição dos parametros, veja o exemplo abaixo.
Returns:
{Array} Lista de campos.

{string} getKeySchema()
Estrutura de dados de uma chave do banco DBKey. Essa estrutura será utilizada nos casos em que houver a necessidade de validar dados ou tratar dados na camada de apresentação.
Returns:
{string} JSON que representa a estrutura de dados de uma DBKey, ou seja, é a representação de uma relação entre registros do banco de dados.

{string} getLookupDisplay(sender, value, event)
Obtém o valor de exibição a partir de um evento onLookupDisplay anexado a um objeto disparador.
Parameters:
{Object} sender
Objeto disparador.
{*} value
Valor que deve ser exposto para o evento.
{Event=} event
Evento opcional que deve ser informado em substituição ao padrão onLookupDisplay.
Returns:
{string} Valor de exibição.

{ngin.classdef.ModelDef} getNormalizedDef(classKey)
Obtém uma instância da definição da classe de acordo com a herança que foi projetada para a hierarquia. Ou seja se o protótipo da definição da primeira classe for de modelo todas as outras instâncias de classe que forem montadas a partir da execução serão instâncias de modelo também. Caso o protótipo na hierarquia seja construído a partir da definição de visão (uwi.classdef.ViewDef) sempre será obtida uma instância de visão durante o uso deste método.
Parameters:
{number} classKey
Chave da classe.
Returns:
{ngin.classdef.ModelDef} Definição obtida.

{boolean} hasEvent(eventName)
Determina se um evento foi declarado na definição da classe.
Parameters:
{string} eventName
Nome do evento.
Returns:
{boolean} True se o evento houver sido declarado na definição de classe.

{boolean} hasObjectProperty(propertyName)
Determina se a definição de classe possui uma propriedade.
Parameters:
{string} propertyName
Nome da propriedade
Returns:
{boolean} True se houver definição da propriedade na classe.

{boolean} hasObjectPropertyDeclaredInThisClass(propertyName)
Determina se uma definição de classe declarou uma determinada propriedade.
Parameters:
{string} propertyName
Nome da propriedade.
Returns:
{boolean} True se a propriedade houver sido declarada na definição da classe.

{boolean} hasOwnFields()
Indica se há campos declarados nesta classe. Caso não haja, os campos dessa classe serão os mesmos da classe mãe.
Returns:
{boolean}

{boolean} hasOwnFileAttributes(fileKey)
Indica se houve os atributos do arquivo foram informados nesta classe.
Parameters:
fileKey
Returns:
{boolean} True se os atributos foram informados, false caso contrário.
See:
#fileAttributes

hideFiles(files)
Oculta os arquivos informados no menu principal.
Importante: Arquivos ocultos com o atributo permissionControlEnabled falso não serão visíveis nos processos de permissão.
Parameters:
{Array} files
Chaves dos arquivos que serão ocultos.
See:
ngin.classdef.ModelDef#fileAttributes

init(opt_parentDef)
Método utilizado pelo gerenciador de classes para sinalizar que a definição deve ser inicializada. Ele é executado logo após a criação da definição.
Parameters:
{ngin.classdef.Def=} opt_parentDef
Definição pai da definição que está sendo criada.

resetJustToGroup()
Define justToGroup e hasOwnJustToGroup como false, implementando assim a definição padrão.

setFieldsProperties()
Este método cria ou seta as propriedades informadas com os valores informados em cada campo da definido nos parametros. Para utilizar esse método existem diversas formas de o invocar, veja os exemplo abaixo.
 // Array de campos com callback para setar as propriedades:
 fl.setFieldsProperties([field1, field2], function (field) {
   field.prop = valor;
field.prop2 = valor2
}); // Array com os nomes dos campos com callback para setar as propriedades: fl.setFieldsProperties(['campo1','campos2'], function (field) { field.prop = valor; field.prop2 = valor2 }); // String com o nomes dos campos separados por virgula ou ponto e virgula como primeiro // parâmetro. // Array com nomes das propriedades a serem definidas como segundo parâmetro. // Array com os valores a serem definidos nas propriedades de mesmo índice como terceiro // parâmetro. fl.setFieldsProperties('campo1,campos2', ['prop', 'prop2'], [valor, valor2]); // Ainda na forma anterior pode ser utilizado o caractere '*' para obter todos os campos. fl.setFieldsProperties('*', ['prop', 'prop2'], [valor, valor2]); // Lista de strings separados por vírgula ou ponto e virgula com os nomes dos campos a // serem alterados como primeiro parâmetro. // Os parametros seguintes são os nomes das propriedades com os valores que devem ser // atribuídos. fl.setFieldsProperties('campo1,campos2', 'prop', valor, 'prop2', valor2);

{string} toJSONSchema()
Cria uma representação JSON desta definição do modelo.
Returns:
{string}

{String} toString()
Retorna uma string que informa qual a chave do x-class ao qual a instância foi criada.
Returns:
{String}

Documentation generated by JsDoc Toolkit 2.4.0 on Tue Aug 23 2016 16:18:11 GMT-0300 (GFT)