Class: ClassDefCache

@nginstack/engine/lib/classdef/ClassDefCache~ ClassDefCache


new ClassDefCache()

Classe utilizada 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.

Methods


get(id)

Obtém um dado no cache associado ao id informado, gravado previamente por meio do método #set.

Parameters:
Name Type Description
id string

Id único da informação armazenada no cache.

Returns:

Retorna o dado contido no cache ou null, caso não haja nenhum.

Type
*

getOrElse(id, func [, opt_obj])

Tenta obter um dado no cache associado ao id informado. Caso não haja, executa a função informada, guarda o retorno da função no cache e retorna o valor obtido.

Parameters:
Name Type Argument Description
id string

Id único da informação armazenada no cache.

func function

Função que irá gerar o dado a ser gravado no cache e retornado por este método.

opt_obj Object <optional>

O objeto que será utilizado como o valor de 'this' dentro de func.

Returns:

Retorna o dado contido no cache ou o resultado da função informado caso não tenha encontrado no cache.

Type
*

has(id)

Indica se existe uma informação no cache associado ao id informado.

Parameters:
Name Type Description
id string

Id único da informação armazenada no cache.


set(id, value)

Guarda um dado no cache associado ao id informado. Como o cache é compartilhado, garanta que o id informado é único adotando algum critério de namespace.

Parameters:
Name Type Description
id string

Id único da informação que será armazenada no cache.

value *

Valor associado ao id informado.