GlideDynamicAttributeStore - Global
A API GlideDynamicAttributeStore fornece acesso a um tipo de dados de armazenamento de atributo dinâmico, semelhante a outros tipos de dados, como cadeia de caracteres, data ou data/hora.
Esta API fornece métodos que permitem obter e definir atributos de esquema dinâmico em um objeto GlideDynamicAttribute. Esses atributos dinâmicos permitem que cada linha em uma tabela contenha campos diferentes. Os campos nos quais este tipo de dados é aplicado são mostrados como dynamic_attribute_store na coluna descrição do tipo de dados da tabela. Para obter mais detalhes sobre atributos dinâmicos, consulte Esquema dinâmico.
Para usar esta API para criar atributos dinâmicos, você deve ter a função dynamic_schema_writer. Para ler dados dinâmicos usando esta API, você deve ter a função dynamic_schema_reader.
Há métodos nesta API que têm a mesma funcionalidade que os métodos de esquema dinâmico na API GlideRecord. Use esta API se quiser definir o mesmo grupo de atributos dinâmicos em vários registros. Usando esta API, você pode preparar um objeto GlideDynamicAttributeStore com os atributos desejados e copiar esse objeto para vários GlideRecords usando os vários métodos setDynamicAttributeValues(). O uso de métodos de esquema dinâmico semelhantes na API GlideRecord executa as ações em um GlideRecord especificado.
GlideDynamicAttributeStore – limpar ()
Limpa todos os atributos e seus valores do objeto GlideDynamicAttributeStore.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
O exemplo de código a seguir mostra como chamar este método.
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue("cars->color","blue");
das.setDynamicAttributeValue("cars->make","Toyota");
das.setDynamicAttributeValue("cars->model","CRV");
das.setDynamicAttributeValue("cars->luxury",true);
das.setDynamicAttributeValue("cars->cost",12000.5);
das.setDynamicAttributeValue("cars->avg_mpg",24.5234);
das.setDynamicAttributeValue("cars->total_miles",5324);
das.setDynamicAttributeValue("cars->date_purchased",new GlideDateTime());
gs.info('das: ' + das.getDisplayValue());
das.clear();
gs.info('das: ' + das.getDisplayValue());
Saída:
*** Script: das: {
"cars" : {
"avg_mpg" : "24.5234",
"color" : "blue",
"cost" : "12000.5",
"date_purchased" : "2024-04-19 08:29:52",
"luxury" : "true",
"make" : "Toyota",
"model" : "CRV",
"total_miles" : "5324"
}
}
*** Script: das: null
GlideDynamicAttributeStore – getDisplayValue()
Retorna a representação do mapa JSON dos valores armazenados no objeto GlideDynamicAttributeStore atual.
- Valores boolianos como "verdadeiro" e "falso" em vez de 1 e 0.
- Valores de data/hora na localidade do usuário em vez de UTC.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Mapa JSON legível dos valores armazenados no objeto GlideDynamicAttributeStore. O conteúdo desta cadeia de caracteres depende da definição do esquema dinâmico. |
O exemplo de código a seguir mostra como chamar este método.
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue("cars->color","blue");
das.setDynamicAttributeValue("cars->make","Toyota");
das.setDynamicAttributeValue("cars->model","CRV");
das.setDynamicAttributeValue("cars->luxury",true);
das.setDynamicAttributeValue("cars->cost",12000.5);
das.setDynamicAttributeValue("cars->avg_mpg", 24.5234);
das.setDynamicAttributeValue("cars->total_miles", 5324);
das.setDynamicAttributeValue("cars->date_purchased",new GlideDateTime());
gs.info('Value returned by getValue(): ' + das.getValue());
gs.info('Value returned by getDisplayValue(): ' + das.getDisplayValue());
Saída:
*** Script: Value returned by getValue(): {"cars":{"total_miles":5324,"color":"blue","model":"CRV","cost":12000.5,"luxury":1,"avg_mpg":24.5234,"make":"Toyota","date_purchased":"2024-04-19 15:33:23"}}
*** Script: Value returned by getDisplayValue(): {
"cars" : {
"avg_mpg" : "24.5234",
"color" : "blue",
"cost" : "12000.5",
"date_purchased" : "2024-04-19 08:33:23",
"luxury" : "true",
"make" : "Toyota",
"model" : "CRV",
"total_miles" : "5324"
}
}
GlideDynamicAttributeStore – getDynamicAttributes()
Retorna o conjunto de definições de atributo dinâmico presentes no armazenamento.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Matriz | Matriz que contém todos os atributos dinâmicos transitórios e não transitórios presentes no armazenamento.
Nota:
A tabela Atributo dinâmico [dynamic_attribute] pode ser acessada navegando até , selecionando um grupo e selecionando a guia Atributos dinâmicos. |
O exemplo a seguir mostra como recuperar atributos dinâmicos transitórios e não transitórios.
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue('a->b', 5); // transient (adding here)
das.setDynamicAttributeValue('a->c', 10); // defined in dynamic_attribute table
var attributes = das.getDynamicAttributes();
gs.info(attributes);
for (var i = 0; i < attributes.length; i++) {
var attr = attributes[i];
gs.info("");
gs.info("[" + i + "].getPath() = " + attr.getPath());
gs.info("[" + i + "].getName() = " + attr.getName());
gs.info("[" + i + "].getGroupName() = " + attr.getGroupName());
gs.info("[" + i + "].getSysId() = " + attr.getSysId());
gs.info("[" + i + "].isTransient() = " + attr.isTransient());
gs.info("[" + i + "].getType() = " + attr.getType());
}
Saída:
*** Script: a->c,a->b
*** Script:
*** Script: [0].getPath() = a->c
*** Script: [0].getName() = c
*** Script: [0].getGroupName() = a
*** Script: [0].getSysId() = 8bc411a94fc01210b8ddc0e552ce0b3c
*** Script: [0].isTransient() = false
*** Script: [0].getType() = integer
*** Script:
*** Script: [1].getPath() = a->b
*** Script: [1].getName() = b
*** Script: [1].getGroupName() = a
*** Script: [1].getSysId() = undefined
*** Script: [1].isTransient() = true
*** Script: [1].getType() = string
GlideDynamicAttributeStore – getDynamicAttributeValue(cadeia de caracteres groupAttrPath)
Retorna o valor do atributo especificado no elemento de armazenamento de atributo dinâmico.
| Nome | Tipo | Descrição |
|---|---|---|
| groupAttrPath | Cadeia de caracteres | Caminho do atributo a ser usado para localizar o atributo de esquema dinâmico associado. Formato: "group_name->attr_name"
Por exemplo: |
| Tipo | Descrição |
|---|---|
| Objeto | Valor do atributo de esquema dinâmico referenciado pelo caminho de grupo/atributo aprovado. Se o parâmetro attributePath contiver informações inválidas, retornará um valor nulo. |
O exemplo de código a seguir mostra como chamar este método.
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue("cars->color","blue");
das.setDynamicAttributeValue("cars->make","Toyota");
das.setDynamicAttributeValue("cars->model","CRV");
das.setDynamicAttributeValue("cars->luxury",true);
das.setDynamicAttributeValue("cars->cost",12000.5);
das.setDynamicAttributeValue("cars->avg_mpg", 24.5234);
das.setDynamicAttributeValue("cars->total_miles", 5324);
das.setDynamicAttributeValue("cars->date_purchased",new GlideDateTime());
gs.info('Value returned by getDynamicAttributeValue(): ' + das.getDynamicAttributeValue("cars->color"));
gs.info('Value returned by getDynamicAttributeValue(): ' + das.getDynamicAttributeValue("cars->luxury"));
Saída:
*** Script: Value returned by getDynamicAttributeValue(): blue
*** Script: Value returned by getDynamicAttributeValue(): 1
GlideDynamicAttributeStore – getValue()
Retorna a representação de cadeia de caracteres compacta do conteúdo do objeto GlideDynamicAttributeStore atual.
- Valores boolianos como 1 e 0 em vez de "verdadeiro" e "falso".
- Valores de data/hora em UTC em vez da localidade do usuário.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Representação de cadeia de caracteres compacta dos valores armazenados no objeto GlideDynamicAttributeStore. O conteúdo desta cadeia de caracteres depende da definição do esquema dinâmico. |
O exemplo de código a seguir mostra como chamar este método.
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue("cars->color","blue");
das.setDynamicAttributeValue("cars->make","Toyota");
das.setDynamicAttributeValue("cars->model","CRV");
das.setDynamicAttributeValue("cars->luxury",true);
das.setDynamicAttributeValue("cars->cost",12000.5);
das.setDynamicAttributeValue("cars->avg_mpg", 24.5234);
das.setDynamicAttributeValue("cars->total_miles", 5324);
das.setDynamicAttributeValue("cars->date_purchased",new GlideDateTime());
gs.info('Value returned by getValue(): ' + das.getValue());
gs.info('Value returned by getDisplayValue(): ' + das.getDisplayValue());
Saída:
*** Script: Value returned by getValue(): {"cars":{"total_miles":5324,"color":"blue","model":"CRV","cost":12000.5,"luxury":1,"avg_mpg":24.5234,"make":"Toyota","date_purchased":"2024-04-19 15:33:23"}}
*** Script: Value returned by getDisplayValue(): {
"cars" : {
"avg_mpg" : "24.5234",
"color" : "blue",
"cost" : "12000.5",
"date_purchased" : "2024-04-19 08:33:23",
"luxury" : "true",
"make" : "Toyota",
"model" : "CRV",
"total_miles" : "5324"
}
}
GlideDynamicAttributeStore – setDisplayValue(valor do objeto)
Limpa o objeto GlideDynamicAttributeStore atual e armazena o mapa JSON passado no objeto GlideDynamicAttributeStore.
Este método é funcionalmente igual ao GlideDynamicAttributeStore – setValue(valor do objeto), exceto pelo fato de que ele pressupõe que todos os valores de data são fornecidos na localidade do usuário.
| Nome | Tipo | Descrição |
|---|---|---|
| valor | Objeto | Valor a ser definido no objeto de armazenamento de atributo dinâmico atual. O valor passado deve ser de um dos seguintes tipos de dados:
|
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
O exemplo a seguir mostra como chamar este método.
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue("cars->color","blue");
das.setDynamicAttributeValue("cars->make","Toyota");
das.setDynamicAttributeValue("cars->model","CRV");
das.setDynamicAttributeValue("cars->luxury",true);
das.setDynamicAttributeValue("cars->cost",12000.5);
das.setDynamicAttributeValue("cars->avg_mpg", 24.5234);
das.setDynamicAttributeValue("cars->total_miles", 5324);
das.setDynamicAttributeValue("cars->date_purchased",new GlideDateTime());
gs.info('das: ' + das.getDisplayValue());
das.setDisplayValue('{"cars":{"luxury":false}}');
gs.info('das: ' + das.getDisplayValue());
Saída:
*** Script: das: {
"cars" : {
"avg_mpg" : "24.5",
"color" : "blue",
"cost" : "12000.0",
"date_purchased" : "2024-04-19 14:16:49",
"luxury" : "true",
"make" : "Toyota",
"model" : "CRV",
"total_miles" : "5324.0"
}
}
*** Script: das: {
"cars" : {
"luxury" : "false"
}
}
GlideDynamicAttributeStore – setDynamicAttributeDisplayValue(cadeia de caracteres groupAttrPath, valor do objeto)
Define o valor do atributo dinâmico localizado em um caminho especificado em um elemento de armazenamento de atributo dinâmico.
Este método funciona da mesma forma que o método GlideDynamicAttributeStore - setDynamicAttributeValue(cadeia de caracteres groupAttrPath, valor do objeto), exceto na manipulação de valores boolianos e de data/hora. Este método pressupõe que todos os valores de data/hora são fornecidos na localidade do usuário.
| Nome | Tipo | Descrição |
|---|---|---|
| groupAttrPath | Cadeia de caracteres | Caminho do atributo a ser usado para localizar o atributo de esquema dinâmico associado. Formato: "group_name->attr_name"
Por exemplo: |
| valor | Objeto | Valor a ser definido no atributo especificado. Nota: Para atributos dinâmicos, somente os seguintes tipos de dados são compatíveis:
|
| Tipo | Descrição |
|---|---|
| Objeto | Objeto GlideDynamicAttributeStore atualizado. Se o parâmetro groupAttrPath não for válido, o método emitirá um IllegalArgumentException. |
O exemplo de código a seguir mostra como chamar este método.
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeDisplayValue("cars->color","blue");
das.setDynamicAttributeDisplayValue("cars->make","Toyota");
das.setDynamicAttributeDisplayValue("cars->model","CRV");
das.setDynamicAttributeDisplayValue("cars->luxury","true");
das.setDynamicAttributeDisplayValue("cars->cost",12000.5);
das.setDynamicAttributeDisplayValue("cars->avg_mpg", 24.5234);
das.setDynamicAttributeDisplayValue("cars->total_miles", 5324);
das.setDynamicAttributeDisplayValue("cars->date_purchased",new GlideDateTime());
gs.info('das: ' + das.getDisplayValue());
das.setDisplayValue('{"cars":{"luxury":"false"}}');
gs.info('das: ' + das.getDisplayValue());
Saída:
*** Script: das: {
"cars" : {
"avg_mpg" : "24.5234",
"color" : "blue",
"cost" : "12000.5",
"date_purchased" : "2024-04-19 10:40:45",
"luxury" : "true",
"make" : "Toyota",
"model" : "CRV",
"total_miles" : "5324"
}
}
*** Script: das: {
"cars" : {
"luxury" : "false"
}
}
GlideDynamicAttributeStore - setDynamicAttributeValue(cadeia de caracteres groupAttrPath, valor do objeto)
Define o atributo dinâmico referenciado por um caminho de grupo/atributo especificado para um valor especificado.
| Nome | Tipo | Descrição |
|---|---|---|
| groupAttrPath | Cadeia de caracteres | Caminho do atributo a ser usado para localizar o atributo de esquema dinâmico associado. Formato: "group_name->attr_name"
Por exemplo: |
| valor | Objeto | Valor a ser definido no atributo especificado. Nota: Para atributos dinâmicos, somente os seguintes tipos de dados são compatíveis:
|
| Tipo | Descrição |
|---|---|
| Objeto | Objeto GlideDynamicAttributeStore atualizado. Se o parâmetro groupAttrPath não for válido, o método emitirá um IllegalArgumentException. |
O exemplo de código a seguir mostra como chamar este método.
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue("cars->color","blue");
das.setDynamicAttributeValue("cars->make","Toyota");
das.setDynamicAttributeValue("cars->model","CRV");
das.setDynamicAttributeValue("cars->luxury",true);
das.setDynamicAttributeValue("cars->cost",12000.5);
das.setDynamicAttributeValue("cars->avg_mpg", 24.5234);
das.setDynamicAttributeValue("cars->total_miles", 5324);
das.setDynamicAttributeValue("cars->date_purchased",new GlideDateTime());
gs.info('Value returned by getValue(): ' + das.getValue());
gs.info('Value returned by getDisplayValue(): ' + das.getDisplayValue());
Saída:
*** Script: Value returned by getValue(): {"cars":{"total_miles":5324,"color":"blue","model":"CRV","cost":12000.5,"luxury":1,"avg_mpg":24.5234,"make":"Toyota","date_purchased":"2024-04-19 15:33:23"}}
*** Script: Value returned by getDisplayValue(): {
"cars" : {
"avg_mpg" : "24.5234",
"color" : "blue",
"cost" : "12000.5",
"date_purchased" : "2024-04-19 08:33:23",
"luxury" : "true",
"make" : "Toyota",
"model" : "CRV",
"total_miles" : "5324"
}
}
GlideDynamicAttributeStore – setDynamicAttributeValues(valor do objeto)
Define o armazenamento JSON interno do campo para a representação de cadeia de caracteres do valor passado. Se o valor passado for outra instância de um objeto GlideDynamicAttributeStore, ele copiará os valores desse objeto para o objeto atual.
| Nome | Tipo | Descrição |
|---|---|---|
| valor | Objeto | Objeto JSON a ser armazenado como o valor no GlideRecord associado. O método ignora todos os valores JSON inválidos. |
| Tipo | Descrição |
|---|---|
| Objeto | Objeto GlideDynamicAttributeStore atualizado. |
O exemplo a seguir mostra como armazenar pares de atributo/valor em um objeto GlideDynamicAttributeStore e copiar esses mesmos valores de um objeto para outro.
var das = new GlideDynamicAttributeStore();
var otherValues = new GlideDynamicAttributeStore();
otherValues.setDynamicAttributeValue("position->x", 5);
otherValues.setDynamicAttributeValue("position->y", 6);
das.setDynamicAttributeValues(otherValues);
gs.info(das);
Saída:
{"_position":{"x":"5.0","y":"6.0"}}
GlideDynamicAttributeStore – setValue(valor do objeto)
Limpa o objeto GlideDynamicAttributeStore atual e armazena o mapa JSON passado nesse objeto GlideDynamicAttributeStore.
Este método é funcionalmente igual ao GlideDynamicAttributeStore – setDisplayValue(valor do objeto), exceto que ele pressupõe que todos os valores de data estão em UTC.
| Nome | Tipo | Descrição |
|---|---|---|
| valor | Objeto | Objeto de mapa JSON a ser armazenado no objeto GlideDynamicAttributeStore. Por exemplo: |
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
O exemplo a seguir mostra como chamar este método.
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue("cars->color","blue");
das.setDynamicAttributeValue("cars->make","Toyota");
das.setDynamicAttributeValue("cars->model","CRV");
das.setDynamicAttributeValue("cars->luxury",true);
das.setDynamicAttributeValue("cars->cost",12000.5);
das.setDynamicAttributeValue("cars->avg_mpg", 24.5234);
das.setDynamicAttributeValue("cars->total_miles", 5324);
das.setDynamicAttributeValue("cars->date_purchased", new GlideDateTime());
gs.info('das: ' + das.getValue());
das.setValue('{"cars":{"luxury":false}}');
gs.info('das: ' + das.getValue());
Saída:
*** Script: das: {"cars":{"total_miles":5324,"color":"blue","model":"CRV","cost":12000.5,"luxury":true,"avg_mpg":24.5234,"make":"Toyota","date_purchased":"2024-04-19 17:28:47"}}
*** Script: das: {"cars":{"luxury":false}}
GlideDynamicAttributeStore – toString()
Retorna o conteúdo do objeto GlideDynamicAttributeStore como uma cadeia de caracteres.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Objeto GlideDynamicAttribute como uma cadeia de caracteres. Por exemplo: '{"group":{"attr2":"true","attr1":"42.0"}}' |
O exemplo de código a seguir mostra como chamar este método.
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue("cars->color","blue");
das.setDynamicAttributeValue("cars->make","Toyota");
das.setDynamicAttributeValue("cars->model","CRV");
das.setDynamicAttributeValue("cars->luxury",true);
das.setDynamicAttributeValue("cars->cost",12000);
das.setDynamicAttributeValue("cars->avg_mpg",24.5);
das.setDynamicAttributeValue("cars->total_miles",5324);
das.setDynamicAttributeValue("cars->date_purchased",new GlideDateTime());
gs.info('das: ' + das.toString());
Saída:
*** Script: das: {"cars":{"cost":"12000.0","color":"blue","avg_mpg":"24.5","date_purchased":"2024-04-19 14:05:00","luxury":"true","model":"CRV","make":"Toyota","total_miles":"5324.123"}}