new KeysUtilities()
Classe que fornece diversas funções de manipulação de listas de chaves, normalmente utilizada
em conjunto com a classe QueryUtilities.
Essa API é mantida apenas para compatibilidade com códigos antigos. Ela faz uso de práticas não recomendadas como lista de chaves por meio strings, prefixadas com -1 e a identificação de classes pelo nome.
Methods
-
<static> getInstance()
-
Obtém uma instância compartilhada desta classe.
Returns:
- Type
- KeysUtilities
-
copyKeys(keys, startPosition, count)
-
Copia chaves de uma lista de chaves.
Parameters:
Name Type Description keysstring Lista de chaves separadas por "," ( virgula ).
startPositionnumber Posição inicial de chave. Similar ao índice de um array e é zero indexado.
countnumber Quantidade de chaves para ser copiada.
Returns:
Lista de chaves separadas por ','.
- Type
- string
Example
var KeysUtilities = require('@nginstack/engine/lib/database/KeysUtilities'); var keysUtilities = new KeysUtilities(); var chaves = keysUtilities.copyKey( '-1,1235,557,5578', 1, 2 ) // 1235,557 -
extract(keysForExtract, keys [, separator])
-
Extrai chaves de uma lista de chaves, retornando a lista sem as chaves.
Parameters:
Name Type Argument Description keysForExtractObject Pode ser um Array ou uma String. As chaves que devem ser extraídas.
keysObject Pode ser um Array ou uma String. A lista de chaves.
separatorstring <optional>
Indicará como suas chaves estão separadas em ambos os parâmetros forem Strings. Como default, receberá o valor "," (virgula).
Returns:
Retorna a lista de chaves sem as chaves usadas para a extração.
- Type
- string
Example
var KeysUtilities = require('@nginstack/engine/lib/database/KeysUtilities'); var keysUtilities = new KeysUtilities(); keysUtilities.extract("1,2,3","1,2,3,4") // retorna 4 keysUtilities.extract("1;2;3","1;2;3;4",';') // retorna 4 -
getChildrenFromClassesKeys(keys [, userKey])
-
Pega filhas de classes em uma lista.
Parameters:
Name Type Argument Description keysstring Lista de chaves de classes separadas por "," ( virgula ).
userKeynumber <optional>
Chave do usuário para que seja feito o filtro de visão.
Returns:
Lista de chaves separadas por ','.
- Type
- string
Example
var KeysUtilities = require('@nginstack/engine/lib/database/KeysUtilities'); var keysUtilities = new KeysUtilities(); var classes = keysUtilities.getChildrenFromClassesKeys(123456, session.userKey) -
getDistinctKeys(keys)
-
Retorna somente as chaves distintas de uma lista de chaves.
Parameters:
Name Type Description keysstring Lista de chaves separadas por "," (virgula)
Returns:
Lista de chaves distintas
- Type
- string
Example
var KeysUtilities = require('@nginstack/engine/lib/database/KeysUtilities'); var keysUtilities = new KeysUtilities(); // retorna 1,2,3 keysUtilities.getDistinctKeys("1,1,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3") -
getIntersectKeys(keys1, keys2)
-
Pega lista de chaves que são comuns entre duas listas de chaves.
Parameters:
Name Type Description keys1string Lista de chaves 1.
keys2string Lista de chaves 2.
Returns:
Lista de chaves separadas por ',' que são comuns entre "keys1" e "keys2". Se não houver chaves comuns, será retornado "-1".
- Type
- string
-
getIntersectKeysFromKeyList(keys)
-
A partir duas ou mais listas de chaves, retorna uma lista de chaves comuns a todas as listas.
Parameters:
Name Type Description keysArray Esse parâmetro deve ser um array de um ou mais arrays de chaves
Returns:
- Type
- Array
-
getKeysCount(keys)
-
Retorna a quantidade de chaves da lista.
Parameters:
Name Type Description keysstring Lista de chaves separadas por "," ( virgula ) ou ponto e vírgula.
Returns:
Quantidade de chaves da lista.
- Type
- number
Example
var KeysUtilities = require('@nginstack/engine/lib/database/KeysUtilities'); var keysUtilities = new KeysUtilities(); // A variável ficará com 4 var qde = keysUtilities.getKeysCount( '-1,1235,557,5578' ) -
getKeysFromCode(classKey, code [, classesFilter] [, ds])
-
Pega chaves de um único código ou incompleto ou múltiplo. Se não for passado código trará todos os registros da classe, exceto quando o classKey for a classe Classes.
Parameters:
Name Type Argument Description classKeyObject Pode ser uma String ou um Number. Nome ou chave da classe onde será pesquisadas as chaves.
codestring Conteúdo do campo CODIGO de uma determinada tabela do banco de dados, tabela esta que contém os dados da classe informada no parâmetro
classKey.classesFilterstring <optional>
Lista de chaves de classes filhas de "classKey" nas quais deve ser feito a pesquisa do código.
dsDataSet <optional>
DataSet para pesquisa, é passado para otimização, caso já se tenha o dataset da classe.
- See:
-
- KeysUtilities#getKeysFromIncompleteCode
- KeysUtilities#getKeysFromMultipleCode
Returns:
Lista de chaves de acordo com o código informado ( "code" )
- Type
- string
Examples
var KeysUtilities = require('@nginstack/engine/lib/database/KeysUtilities'); var keysUtilities = new KeysUtilities(); var chaves = keysUtilities.getKeysFromCode( 'Proventos', 'INSS..;FGTS', filtroProventos )var KeysUtilities = require('@nginstack/engine/lib/database/KeysUtilities'); var keysUtilities = new KeysUtilities(); var chave = keysUtilities.getKeysFromCode( 'Proventos', 'INSS', filtroProventos ) -
getKeysFromField(dataSet, fieldName, distinct)
-
Pega a lista de chaves de um determinado campo de um dataset. Essa função retornará juntamente com a lista de chaves uma chave com o valor -1. Esse comportamento está correto e serve para manter a compatibilidade com vários processos no sistema.
Parameters:
Name Type Description dataSetDataSet Dataset para percorrer.
fieldNamestring Nome do campo que será pegue as chaves.
distinctboolean Se a lista de chaves resultante é de chaves distintas.
Returns:
Lista de chaves separadas por ','.
- Type
- string
-
getKeysFromIncompleteCode(classKey, code [, classesFilter] [, ds])
-
Pesquisa quais as chaves cujo código esteja incompleto, ou seja com ".." no código.
Parameters:
Name Type Argument Description classKeyObject Pode ser uma String ou um Number. Nome ou chave da classe onde será pesquisadas as chaves.
codestring Conteúdo do campo CODIGO de uma determinada tabela do banco de dados, tabela esta que contém os dados da classe informada no parâmetro
classKey. Este código pode ter ".." para pesquisa com código incompleto.classesFilterstring <optional>
Lista com as chaves das classes filhas, que o usuário tem permissão para visualização, da informada no parâmetro "classKey" nas quais deve ser feito a pesquisa do código.
dsDataSet <optional>
DataSet para pesquisa, é passado para otimização, caso já se tenha o dataset da classe.
- See:
-
- KeysUtilities#getKeysFromMultipleCode
- KeysUtilities#getKeysFromCode
Returns:
Lista de chaves de acordo com o código informado ( "code" )
- Type
- string
Examples
var KeysUtilities = require('@nginstack/engine/lib/database/KeysUtilities'); var keysUtilities = new KeysUtilities(); var chaves = keysUtilities.getKeysFromIncompleteCode( 'Pessoas', 'José..') //Retorno: Existindo 8 cadastros no banco classificados como Pessoas cujo //código iniciem por 'José', a string retornada será como a exemplificada //abaixo: // 'chaves' é igual a "-1,813,178447,178458,185558,46766,924,622348,1928"var KeysUtilities = require('@nginstack/engine/lib/database/KeysUtilities'); var keysUtilities = new KeysUtilities(); var filtroClientes = connection.getChildren( 'Clientes' ) var chaves = keysUtilities.getKeysFromIncompleteCode( 'Pessoas', 'José..', filtroClientes ) //Retorno: Não existindo nenhum cadastro de Pessoas cujo código inicie por //'José' e que esteja classificado como Clientes, a string retornada será //como a exemplificada abaixo: // 'chaves' é igual a "-1" -
getKeysFromLocateKeys(classKey, fieldName, keys [, filter])
-
Pega chaves de registro cujo campo passado como parâmetro tenha pelo menos uma das chaves da lista informada.
Parameters:
Name Type Argument Description classKeyObject Pode ser uma String ou um Number. Nome ou chave da classe onde será pesquisadas as chaves.
fieldNamestring Nome do campo para pesquisa das chaves.
keysstring Lista de chaves separadas por "," ( virgula ) para pesquisa no campo.
filterstring <optional>
Lista de chaves de classes filhas de "classKey" nas quais deve ser feito a pesquisa do código que o usuário tem acesso.
Returns:
Lista de chaves.
- Type
- string
-
getKeysFromMultipleCode(classKey, code [, filter] [, ds])
-
Pega chaves de vários códigos separados por ";" ( ponto-e-virgula ). Estes códigos também podem ser incompletos, ou seja, com ".." no código.
Parameters:
Name Type Argument Description classKeyObject Pode ser uma String ou um Number. Nome ou chave da classe onde será pesquisadas as chaves.
codestring Conteúdo do campo CODIGO de uma determinada tabela do banco de dados, tabela esta que contém os dados da classe informada no parâmetro
classKey. Lista de códigos separados por ";" ( ponto-e-virgula ), Estes códigos também podem ter ".." para pesquisa com código incompleto.filterstring <optional>
Lista com as chaves das classes filhas, que o usuário tem permissão para visualização, da informada no parâmetro "classKey" nas quais deve ser feito a pesquisa do código.
dsDataSet <optional>
DataSet para pesquisa, é passado para otimização, caso já se tenha o dataset da classe.
- See:
-
- KeysUtilities#getKeysFromIncompleteCode
- KeysUtilities#getKeysFromCode
Returns:
Lista de chaves de acordo com o código informado ( "code" )
- Type
- string
Example
var KeysUtilities = require('@nginstack/engine/lib/database/KeysUtilities'); var keysUtilities = new KeysUtilities(); var filtroClientes = connection.getChildren( 'Pessoas' ) var chaves = keysUtilities.getKeysFromMultipleCode( 'Entidades', 'Maria Eduarda;José..', filtroPessoas ) //Retorno: Existindo cadastro cujo código inicie por 'José' e cadastro //cujo código seja 'Maria Eduarda' classificado como Pessoas, a string //retornada será como a exemplificada abaixo: // 'chaves' é igual a "-1,284757,-1,813,178447,178458,185558,46766, // 924,622348,1928" -
getNoIntersectKeys(keys1, keys2)
-
Pega lista de chaves que não são comuns entre duas listas de chaves.
Parameters:
Name Type Description keys1string Lista de chaves 1.
keys2string Lista de chaves 2.
Returns:
Lista de chaves separadas por ',' (ou um array) que NÃO são comuns entre "keys1" e "keys2".
- Type
- string
-
getUnionKeys(keys1, keys2)
-
Pega lista de chaves que existem nas duas listas, eliminando redundâncias.
Parameters:
Name Type Description keys1string Lista de chaves 1.
keys2string Lista de chaves 2.
Returns:
Lista de chaves separadas por ',' que existem em "keys1" ou "keys2".
- Type
- string
-
getUrl(classKey, name)
-
Gera uma url que identifica um conteúdo dentro do Virtual File System.
Parameters:
Name Type Description classKeynumber Chave da classe onde o conteúdo está localizado.
namestring Nome do conteúdo.
- Deprecated:
-
- Utilize o método `formatFilePath` da classe `VirtualFileSystem`.
Returns:
Url utilizada para acessar o conteúdo dentro do Virtual File System.
- Type
- string
-
hierarchicalClass(startClass, endClass [, level])
-
Retorna o path separado por "."(ponto) do caminho entre os nomes das classes começando na classe startClass e terminando na endClass dependendo do nível informado como terceiro parâmetros.
Parameters:
Name Type Argument Description startClassnumber Classe inicial, obrigatoriamente mãe da endClass.
endClassnumber Classe final, obrigatoriamente filha de startClass
levelnumber <optional>
A quantidade de níveis a serem exibidos. Por default exibirá todos os níveis do range definido entre startClass e endClass.
Returns:
path separado por "."(ponto).
- Type
- string
Example
var KeysUtilities = require('@nginstack/engine/lib/database/KeysUtilities'); var keysUtilities = new KeysUtilities(); // Considere que a classe animais tem chave = 5555 e que a classe cachorro // tem chave = 565656 // Considere também a hierarquia => animais/mamíferos/quadrupedes/cachorro //Logo, quando usamos a função: keysUtilities.hierarchicalClass(5555, 565656) // retorno = animais.mamíferos.quadrupedes.cachorro //Veja o que acontece quando informamos o nível para 2: keysUtilities.hierarchicalClass(5555, 565656, 2) //retorno = animais.mamíferos -
keyInKeysList(key, keyList)
-
Verifica se uma chave pertence a uma lista de chaves.
Parameters:
Name Type Description keyObject Pode ser String ou Number. Chave que será verificada.
keyListstring Lista que conterá ou não a chave.
Returns:
True se a chave estiver na lista, False se não estiver.
- Type
- boolean
Example
var KeysUtilities = require('@nginstack/engine/lib/database/KeysUtilities'); var keysUtilities = new KeysUtilities(); keysUtilities.keyInKeysList(4,"1,2,3,4")