new KeysUtilities()
Classe que contém um conjunto de funções estáticas de controle no uso de chaves.
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 keys
string Lista de chaves separadas por "," ( virgula ).
startPosition
number Posição inicial de chave. Similar ao índice de um array e é zero indexado.
count
number 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 keysForExtract
Object Pode ser um Array ou uma String. As chaves que devem ser extraídas.
keys
Object Pode ser um Array ou uma String. A lista de chaves.
separator
string <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 keys
string Lista de chaves de classes separadas por "," ( virgula ).
userKey
number <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 keys
string 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 keys1
string Lista de chaves 1.
keys2
string 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 keys
Array 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 keys
string 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 classKey
Object Pode ser uma String ou um Number. Nome ou chave da classe onde será pesquisadas as chaves.
code
string 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
.classesFilter
string <optional>
Lista de chaves de classes filhas de "classKey" nas quais deve ser feito a pesquisa do código.
ds
DataSet <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 dataSet
DataSet Dataset para percorrer.
fieldName
string Nome do campo que será pegue as chaves.
distinct
boolean 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 classKey
Object Pode ser uma String ou um Number. Nome ou chave da classe onde será pesquisadas as chaves.
code
string 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.classesFilter
string <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.
ds
DataSet <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 classKey
Object Pode ser uma String ou um Number. Nome ou chave da classe onde será pesquisadas as chaves.
fieldName
string Nome do campo para pesquisa das chaves.
keys
string Lista de chaves separadas por "," ( virgula ) para pesquisa no campo.
filter
string <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 classKey
Object Pode ser uma String ou um Number. Nome ou chave da classe onde será pesquisadas as chaves.
code
string 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.filter
string <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.
ds
DataSet <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 keys1
string Lista de chaves 1.
keys2
string 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 keys1
string Lista de chaves 1.
keys2
string 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 classKey
number Chave da classe onde o conteúdo está localizado.
name
string 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 startClass
number Classe inicial, obrigatoriamente mãe da endClass.
endClass
number Classe final, obrigatoriamente filha de startClass
level
number <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 key
Object Pode ser String ou Number. Chave que será verificada.
keyList
string 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")