GlideDynamicAttributeStore : global
L’API GlideDynamicAttributeStore permet d’accéder à un type de données de magasin d’attributs dynamiques, similaire à d’autres types de données tels que chaîne, date ou date/heure.
Cette API fournit des méthodes qui vous permettent d’obtenir et de définir des attributs de schéma dynamique dans un objet GlideDynamicAttribute. Ces attributs dynamiques permettent à chaque ligne d’une table de contenir différents champs. Les champs sur lesquels ce type de données est appliqué sont affichés sous forme de dynamic_attribute_store dans la description du type de données de colonne de la table. Pour plus de détails sur les attributs dynamiques, consultez Schéma dynamique.
Pour utiliser cette API et créer des attributs dynamiques, vous devez disposer du rôle dynamic_schema_writer. Pour lire des données dynamiques à l’aide de cette API, vous devez disposer du rôle dynamic_schema_reader.
Il existe des méthodes dans cette API qui ont les mêmes fonctionnalités que les méthodes de schéma dynamique dans l’API GlideRecord . Utilisez cette API si vous souhaitez définir le même groupe d’attributs dynamiques sur plusieurs enregistrements. À l’aide de cette API, vous pouvez mettre en lots un objet GlideDynamicAttributeStore avec les attributs souhaités, puis copier cet objet dans plusieurs GlideRecords à l’aide des différentes méthodes setDynamicAttributeValues(). L’utilisation de méthodes de schéma dynamique similaires dans l’API GlideRecord effectue les actions sur un GlideRecord spécifié.
GlideDynamicAttributeStore : clear()
Efface tous les attributs et leurs valeurs de l’objet GlideDynamicAttributeStore.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Néant |
L’exemple de code suivant montre comment appeler cette méthode.
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());
Sortie :
*** 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()
Renvoie la représentation de carte JSON des valeurs stockées dans l’objet GlideDynamicAttributeStore actuel.
- Valeurs booléennes comme « vrai » et « faux » au lieu de 1 et 0.
- Valeurs de date/heure dans les paramètres régionaux de l’utilisateur au lieu d’UTC.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Carte JSON lisible par l’homme des valeurs stockées dans l’objet GlideDynamicAttributeStore. Le contenu de cette chaîne dépend de votre définition de schéma dynamique. |
L’exemple de code suivant montre comment appeler cette méthode.
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());
Sortie :
*** 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()
Renvoie l’ensemble des définitions d’attributs dynamiques présentes dans le magasin.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Tableau | Tableau contenant tous les attributs dynamiques transitoires et non transitoires présents dans le magasin.
Remarque :
La table Attribut dynamique [dynamic_attribute] est accessible en accédant à , en sélectionnant un groupe, puis en sélectionnant l’onglet Attributs dynamiques . |
L’exemple suivant montre comment récupérer des attributs dynamiques transitoires et non transitoires.
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());
}
Sortie :
*** 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(String groupAttrPath)
Renvoie la valeur de l’attribut spécifié dans l’élément de magasin d’attributs dynamiques.
| Nom | Type | Description |
|---|---|---|
| groupAttrPath | Chaîne | Chemin d’accès d’attribut à utiliser pour localiser l’attribut de schéma dynamique associé. Format : « group_name->attr_name »
Par exemple : |
| Type | Description |
|---|---|
| Objet | Valeur de l’attribut de schéma dynamique référencé par le chemin d’accès de groupe/attribut transmis. Si le attributePath paramètre contient des informations non valides, renvoie une valeur null. |
L’exemple de code suivant montre comment appeler cette méthode.
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"));
Sortie :
*** Script: Value returned by getDynamicAttributeValue(): blue
*** Script: Value returned by getDynamicAttributeValue(): 1
GlideDynamicAttributeStore : getValue()
Renvoie la représentation de chaîne compacte du contenu de l’objet GlideDynamicAttributeStore actuel.
- Valeurs booléennes comme 1 et 0 au lieu de « vrai » et « faux ».
- Valeurs de date/heure en UTC au lieu des paramètres régionaux de l’utilisateur.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Représentation sous forme de chaîne compacte des valeurs stockées dans l’objet GlideDynamicAttributeStore. Le contenu de cette chaîne dépend de votre définition de schéma dynamique. |
L’exemple de code suivant montre comment appeler cette méthode.
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());
Sortie :
*** 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(valeur d’objet)
Efface l’objet GlideDynamicAttributeStore actif, puis stocke la carte JSON transmise dans l’objet GlideDynamicAttributeStore.
D’un point de vue fonctionnel, cette méthode est la même que GlideDynamicAttributeStore : setValue(valeur d’objet), sauf qu’elle suppose que toutes les valeurs de date sont fournies dans les paramètres régionaux de l’utilisateur.
| Nom | Type | Description |
|---|---|---|
| valide | Objet | Valeur à définir dans l’objet de magasin d’attributs dynamiques actuel. La valeur transmise doit être de l’un des types de données suivants :
|
| Type | Description |
|---|---|
| Néant |
L’exemple suivant montre comment appeler cette méthode.
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());
Sortie :
*** 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(String, groupAttrPath, Object value)
Définit la valeur de l’attribut dynamique situé sur un chemin d’accès spécifié dans un élément de magasin d’attributs dynamiques.
Cette méthode fonctionne de la même manière que la GlideDynamicAttributeStore : setDynamicAttributeValue(String, groupAttrPath, Object value) méthode, sauf dans sa gestion des valeurs booléennes et date/heure. Cette méthode suppose que toutes les valeurs de date/heure sont fournies dans les paramètres régionaux de l’utilisateur.
| Nom | Type | Description |
|---|---|---|
| groupAttrPath | Chaîne | Chemin d’accès d’attribut à utiliser pour localiser l’attribut de schéma dynamique associé. Format : « group_name->attr_name »
Par exemple : |
| valide | Objet | Valeur à définir dans l’attribut spécifié. Remarque : Pour les attributs dynamiques, seuls les types de données suivants sont pris en charge :
|
| Type | Description |
|---|---|
| Objet | Objet GlideDynamicAttributeStore mis à jour. Si le groupAttrPath paramètre n’est pas valide, la méthode lève une exception IllegalArgumentException. |
L’exemple de code suivant montre comment appeler cette méthode.
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());
Sortie :
*** 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(String, groupAttrPath, Object value)
Définit l’attribut dynamique référencé par un chemin d’accès de groupe/d’attribut spécifié sur une valeur spécifiée.
| Nom | Type | Description |
|---|---|---|
| groupAttrPath | Chaîne | Chemin d’accès d’attribut à utiliser pour localiser l’attribut de schéma dynamique associé. Format : « group_name->attr_name »
Par exemple : |
| valide | Objet | Valeur à définir dans l’attribut spécifié. Remarque : Pour les attributs dynamiques, seuls les types de données suivants sont pris en charge :
|
| Type | Description |
|---|---|
| Objet | Objet GlideDynamicAttributeStore mis à jour. Si le groupAttrPath paramètre n’est pas valide, la méthode lève une exception IllegalArgumentException. |
L’exemple de code suivant montre comment appeler cette méthode.
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());
Sortie :
*** 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(Valeur d’objet)
Définit le stockage JSON interne du champ sur la représentation Chaîne de la valeur transmise. Si la valeur transmise est une autre instance d’un objet GlideDynamicAttributeStore, elle copie les valeurs de cet objet vers l’objet actuel.
| Nom | Type | Description |
|---|---|---|
| valide | Objet | Objet JSON à stocker en tant que valeur dans le GlideRecord associé. La méthode ignore toutes les valeurs JSON non valides. |
| Type | Description |
|---|---|
| Objet | Objet GlideDynamicAttributeStore mis à jour. |
L’exemple suivant montre comment stocker des paires attribut/valeur dans un objet GlideDynamicAttributeStore, puis copier ces mêmes valeurs d’un objet à un autre.
var das = new GlideDynamicAttributeStore();
var otherValues = new GlideDynamicAttributeStore();
otherValues.setDynamicAttributeValue("position->x", 5);
otherValues.setDynamicAttributeValue("position->y", 6);
das.setDynamicAttributeValues(otherValues);
gs.info(das);
Sortie :
{"_position":{"x":"5.0","y":"6.0"}}
GlideDynamicAttributeStore : setValue(valeur d’objet)
Efface l’objet GlideDynamicAttributeStore actuel, puis stocke la carte JSON transmise dans cet objet GlideDynamicAttributeStore.
Cette méthode est fonctionnellement la même, GlideDynamicAttributeStore : setDisplayValue(valeur d’objet) sauf qu’elle suppose que toutes les valeurs de date sont en UTC.
| Nom | Type | Description |
|---|---|---|
| valide | Objet | Objet de carte JSON à stocker dans l’objet GlideDynamicAttributeStore. Par exemple : |
| Type | Description |
|---|---|
| Néant |
L’exemple suivant montre comment appeler cette méthode.
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());
Sortie :
*** 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()
Renvoie le contenu de l’objet GlideDynamicAttributeStore sous forme de chaîne.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Objet GlideDynamicAttribute sous forme de chaîne. Par exemple : '{"group » :{"attr2 » :"true »,"attr1 » :"42.0"}}' |
L’exemple de code suivant montre comment appeler cette méthode.
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());
Sortie :
*** 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"}}