GlideDynamicAttributeStore : global
Utilisez l’API GlideDynamicAttributeStore pour créer des objets permettant de travailler avec des attributs dynamiques indépendamment d’une table ou d’un champ.
Cette API fournit des méthodes qui vous permettent d’obtenir et de définir des attributs de schéma dynamique dans un objet GlideDynamicAttributeStore. Pour plus de détails sur les attributs dynamiques, voir 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.
Cette API contient des méthodes qui ont les mêmes fonctionnalités que les méthodes de schéma dynamique de l’API GlideRecord . Utilisez cette API si vous souhaitez définir les mêmes attributs dynamiques sur plusieurs enregistrements. À l’aide de cette API, vous pouvez définir un objet GlideDynamicAttributeStore avec les attributs prévus, puis copier cet objet dans des enregistrements à l’aide de la méthode setDynamicAttributeValue() ou setDynamicAttributeValues().
- addAggregate()
- addHaving()
- getDynamicAttributeValue()
- getDynamicAttributeDisplayValue()
- getValue()
- groupBy()
- orderBy()
- orderByAggregate()
- addQuery()
- getDisplayValue()
- getDynamicAttribute()
- getDynamicAttributeDisplayValue()
- getDynamicAttributeValue()
- getValue()
- orderBy()
- orderByDesc()
- setDisplayValue()
- setDynamicAttributeDisplayValue()
- setDynamicAttributeValue()
- setDynamicAttributeValues()
- setValue()
GlideDynamicAttributeStore : clear()
Efface tous les attributs et leurs valeurs de l’objet GlideDynamicAttributeStore.
| Nom | Type | Description |
|---|---|---|
| Néant |
| Type | Description |
|---|---|
| Néant |
L’exemple de code suivant montre comment appeler cette méthode.
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue("color","blue");
das.setDynamicAttributeValue("make","Toyota");
das.setDynamicAttributeValue("model","CRV");
das.setDynamicAttributeValue("luxury",true);
das.setDynamicAttributeValue("cost",12000.5);
das.setDynamicAttributeValue("avg_mpg",24.5234);
das.setDynamicAttributeValue("total_miles",5324);
das.setDynamicAttributeValue("date_purchased",new GlideDateTime());
gs.info('das: ' + das.getDisplayValue());
das.clear();
gs.info('das: ' + das.getDisplayValue());
Sortie :
*** Script: das: {
"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()
Retourne la représentation de carte JSON des valeurs stockées dans l’objet GlideDynamicAttributeStore actuel.
- Les valeurs booléennes sont « 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 |
|---|---|---|
| Néant |
| 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("color","blue");
das.setDynamicAttributeValue("make","Honda");
das.setDynamicAttributeValue("model","CRV");
das.setDynamicAttributeValue("luxury",false);
das.setDynamicAttributeValue("cost",12000.5);
das.setDynamicAttributeValue("avg_mpg", 24.5234);
das.setDynamicAttributeValue("total_miles", 5324);
das.setDynamicAttributeValue("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(): {"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(): {
"avg_mpg" : "24.5234",
"color" : "blue",
"cost" : "12000.5",
"date_purchased" : "2024-04-19 08:33:23",
"luxury" : "false",
"make" : "Honda",
"model" : "CRV",
"total_miles" : "5324"
}
GlideDynamicAttributeStore : getDynamicAttribute(String attributePath)
Renvoie l’objet d’attribut dynamique situé à un chemin d’attribut dynamique spécifié.
| Nom | Type | Description |
|---|---|---|
| attributePath | Chaîne | Chemin d’accès d’attribut à utiliser pour localiser l’attribut de schéma dynamique associé. Format :
Table : dans le champ Attribut de la table Attribut dynamique [dynamic_attribute]. |
| Type | Description |
|---|---|
| IDynamicAttribute | Objet contenant des attributs dynamiques. |
L’exemple de code suivant montre comment appeler cette méthode.
//Gets all the values of the make attribute from the u_inc_dynamic_schema dynamic attribute store column on the incident table
var gr_Inc = new GlideRecord('incident');
gr_Inc.query();
while(gr_Inc.next()) {
var attr = gr.getDynamicAttribute('inc_dynamic_schema->make');
gs.info(attr.getValue());
}
//You can also use if(gr_Inc.next()) if you don't want all the values
var gr_Inc = new GlideRecord('incident');
gr_Inc.query();
if(gr_Inc.next()) {
var attr = gr_Inc.getDynamicAttribute('inc_dynamic_schema->make');
gs.info(attr.getValue());
}GlideDynamicAttributeStore : getDynamicAttributes()
Renvoie l’ensemble des définitions d’attributs dynamiques présentes dans le magasin.
| Nom | Type | Description |
|---|---|---|
| Néant |
| Type | Description |
|---|---|
| Tableau | Tableau contenant tous les attributs dynamiques transitoires et non transitoires présents dans le magasin.
|
L’exemple suivant montre comment récupérer des attributs dynamiques transitoires et non transitoires.
var used_car = new GlideDynamicAttributeStore('u_product/u_car_inventory');
used_car.setDynamicAttributeValue('mfg_year', 2014); // transient (adding here)
used_car.setDynamicAttributeValue('u_total_miles', 53246); // defined in dynamic_attribute table
var attributes = used_car.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 + "].getNamespaceName() = " + attr.getNamespaceName());
gs.info("[" + i + "].getNamespacedName() = " + attr.getNamespacedName());
gs.info("[" + i + "].isTransient() = " + attr.isTransient());
gs.info("[" + i + "].getType() = " + attr.getType());
}
Sortie :
*** Script: mfg_year,u_total_miles
*** Script:
*** Script: [0].getPath() = mfg_year
*** Script: [0].getName() = mfg_year
*** Script: [0].getNamespaceName() = u_product/u_car_inventory
*** Script: [0].getNamespacedName() = u_product/u_car_inventory/mfg_year
*** Script: [0].isTransient() = true
*** Script: [0].getType() = string
*** Script:
*** Script: [1].getPath() = u_total_miles
*** Script: [1].getName() = u_total_miles
*** Script: [1].getNamespaceName() = u_product/u_car_inventory
*** Script: [1].getNamespacedName() = u_product/u_car_inventory/u_total_miles
*** Script: [1].isTransient() = false
*** Script: [1].getType() = integer
GlideDynamicAttributeStore : getDynamicAttributeValue (Chaîne attrPath)
Renvoie la valeur de l’attribut spécifié dans l’élément de magasin d’attributs dynamiques.
| Nom | Type | Description |
|---|---|---|
| attrPath | Chaîne | Chemin d’accès d’attribut à utiliser pour localiser l’attribut de schéma dynamique associé. Format :
Table : dans le champ Attribut de la table Attribut dynamique [dynamic_attribute]. |
| Type | Description |
|---|---|
| Objet | Valeur de l’attribut de schéma dynamique référencé par le chemin 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("color","blue");
das.setDynamicAttributeValue("make","Toyota");
das.setDynamicAttributeValue("model","CRV");
das.setDynamicAttributeValue("luxury",true);
das.setDynamicAttributeValue("cost",12000.5);
das.setDynamicAttributeValue("avg_mpg", 24.5234);
das.setDynamicAttributeValue("total_miles", 5324);
das.setDynamicAttributeValue("date_purchased", new GlideDateTime());
gs.info('Value returned by getDynamicAttributeValue(): ' + das.getDynamicAttributeValue("color"));
gs.info('Value returned by getDynamicAttributeValue(): ' + das.getDynamicAttributeValue("luxury"));
Sortie :
*** Script: Value returned by getDynamicAttributeValue(): blue
*** Script: Value returned by getDynamicAttributeValue(): 1
GlideDynamicAttributeStore : getDynamicNamespace()
Renvoie l’espace de noms dynamique.
| Nom | Type | Description |
|---|---|---|
| Néant |
| Type | Description |
|---|---|
| Objet | Espace de noms. |
L’exemple suivant montre comment créer un magasin à l’aide d’un espace de noms dynamique et récupérer le nom de l’espace de noms.
gs.info("car_inventory = new GlideDynamicAttributeStore('u_product/u_car_inventory')");
var car_inventory = new GlideDynamicAttributeStore("u_product/u_car_inventory");
gs.info("car_inventory.getDynamicNamespace() : " + car_inventory.getDynamicNamespace());
var ns1 = car_inventory.getDynamicNamespace();
Sortie :
*** Script: new_cars = new GlideDynamicAttributeStore('u_product/u_car_inventory')
*** Script: new_cars.getDynamicNamespace() : u_product/u_car_inventory
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 |
|---|---|---|
| Néant |
| Type | Description |
|---|---|
| Chaîne | Représentation en 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("color","blue");
das.setDynamicAttributeValue("make","Honda");
das.setDynamicAttributeValue("model","CRV");
das.setDynamicAttributeValue("luxury",false);
das.setDynamicAttributeValue("cost",12000.5);
das.setDynamicAttributeValue("avg_mpg", 24.5234);
das.setDynamicAttributeValue("total_miles", 5324);
das.setDynamicAttributeValue("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(): {"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(): {
"avg_mpg" : "24.5234",
"color" : "blue",
"cost" : "12000.5",
"date_purchased" : "2024-04-19 08:33:23",
"luxury" : "false",
"make" : "Honda",
"model" : "CRV",
"total_miles" : "5324"
}
GlideDynamicAttributeStore : setDisplayValue (valeur d’objet)
Efface l’objet GlideDynamicAttributeStore actuel, puis stocke la carte JSON passée 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 actuel du magasin d’attributs dynamiques. 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("color","blue");
das.setDynamicAttributeValue("make","Honda");
das.setDynamicAttributeValue("model","CRV");
das.setDynamicAttributeValue("luxury",false);
das.setDynamicAttributeValue("cost",12000.5);
das.setDynamicAttributeValue("avg_mpg", 24.5234);
das.setDynamicAttributeValue("total_miles", 5324);
das.setDynamicAttributeValue("date_purchased",new GlideDateTime());
gs.info('das: ' + das.getDisplayValue());
das.setDisplayValue('{"luxury":false}');
gs.info('das: ' + das.getDisplayValue());
Sortie :
*** Script: das: {
"avg_mpg" : "24.5",
"color" : "blue",
"cost" : "12000.0",
"date_purchased" : "2024-04-19 14:16:49",
"luxury" : "false",
"make" : "Honda",
"model" : "CRV",
"total_miles" : "5324.0"
}
*** Script: das: {
"luxury" : "false"
}
GlideDynamicAttributeStore : setDynamicAttributeDisplayValue(String attrPath, valeur d’objet)
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 attrPath, valeur d’objet) 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 |
|---|---|---|
| attrPath | Chaîne | Chemin d’accès d’attribut à utiliser pour localiser l’attribut de schéma dynamique associé. Format :
Table : dans le champ Attribut de la table Attribut dynamique [dynamic_attribute]. |
| 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 attrPath paramètre n’est pas valide, la méthode lève une IllegalArgumentException. |
L’exemple de code suivant montre comment appeler cette méthode.
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeDisplayValue("color","blue");
das.setDynamicAttributeDisplayValue("make","Honda");
das.setDynamicAttributeDisplayValue("model","CRV");
das.setDynamicAttributeDisplayValue("luxury","false");
das.setDynamicAttributeDisplayValue("cost",12000.5);
das.setDynamicAttributeDisplayValue("avg_mpg", 24.5234);
das.setDynamicAttributeDisplayValue("total_miles", 5324);
das.setDynamicAttributeDisplayValue("date_purchased",new GlideDateTime());
gs.info('das: ' + das.getDisplayValue());
das.setDisplayValue('{"luxury":"false"}');
gs.info('das: ' + das.getDisplayValue());
Sortie :
*** Script: das: {
"avg_mpg" : "24.5234",
"color" : "blue",
"cost" : "12000.5",
"date_purchased" : "2024-04-19 10:40:45",
"luxury" : "false",
"make" : "Honda",
"model" : "CRV",
"total_miles" : "5324"
}
*** Script: das: {
"luxury" : "false"
}
GlideDynamicAttributeStore : setDynamicAttributeValue(String attrPath, valeur d’objet)
Définit l’attribut dynamique référencé par un chemin d’accès d’attribut spécifié sur une valeur spécifiée.
| Nom | Type | Description |
|---|---|---|
| attrPath | Chaîne | Chemin d’accès d’attribut à utiliser pour localiser l’attribut de schéma dynamique associé. Format :
Table : dans le champ Attribut de la table Attribut dynamique [dynamic_attribute]. |
| 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 attrPath paramètre n’est pas valide, la méthode lève une IllegalArgumentException. |
L’exemple de code suivant montre comment appeler cette méthode.
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue("color","blue");
das.setDynamicAttributeValue("make","Honda");
das.setDynamicAttributeValue("model","CRV");
das.setDynamicAttributeValue("luxury",false);
das.setDynamicAttributeValue("cost",12000.5);
das.setDynamicAttributeValue("avg_mpg", 24.5234);
das.setDynamicAttributeValue("total_miles", 5324);
das.setDynamicAttributeValue("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(): {"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(): {
"avg_mpg" : "24.5234",
"color" : "blue",
"cost" : "12000.5",
"date_purchased" : "2024-04-19 08:33:23",
"luxury" : "false",
"make" : "Honda",
"model" : "CRV",
"total_miles" : "5324"
}
GlideDynamicAttributeStore : setDynamicAttributeValues(valeur d’objet)
Définit le stockage JSON interne pour le champ sur la représentation de 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 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","position_y":"6.0"}
GlideDynamicAttributeStore : setDynamicNamespace(nom de l’espace de noms de la chaîne)
Définit un nom d’espace de noms dynamique.
| Nom | Type | Description |
|---|---|---|
| namespaceName | Chaîne | Nom d’espace de noms dynamique |
| Type | Description |
|---|---|
| Objet | Objet GlideDynamicAttributeStore mis à jour. |
L’exemple suivant montre comment définir le nom d’un espace de noms par défaut sur namespace1.
gs.info("store1 = new GlideDynamicAttributeStore()");
var store1 = new GlideDynamicAttributeStore();
gs.info("store1.getDynamicNamespace() : " + store1.getDynamicNamespace());
gs.info("store1.setDynamicNamespace('namespace1')");
store1.setDynamicNamespace('namespace1');
gs.info("store1.getDynamicNamespace() : " + store1.getDynamicNamespace());
Sortie :
*** Script: store1 = new GlideDynamicAttributeStore()
*** Script: store1.getDynamicNamespace() : default
*** Script: store1.setDynamicNamespace('namespace1')
*** Script: store1.getDynamicNamespace() : namespace1
GlideDynamicAttributeStore : setValue(valeur d’objet)
Efface l’objet GlideDynamicAttributeStore actif, puis stocke la carte JSON passée 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("color","blue");
das.setDynamicAttributeValue("make","Toyota");
das.setDynamicAttributeValue("model","Rav4");
das.setDynamicAttributeValue("luxury",false);
das.setDynamicAttributeValue("cost",12000.5);
das.setDynamicAttributeValue("avg_mpg", 24.5234);
das.setDynamicAttributeValue("total_miles", 5324);
das.setDynamicAttributeValue("date_purchased", new GlideDateTime());
gs.info('das: ' + das.getValue());
das.setValue('{"luxury":false}');
gs.info('das: ' + das.getValue());
Sortie :
*** Script: das: {"total_miles":5324,"color":"blue","model":"Rav4","cost":12000.5,"luxury":false,"avg_mpg":24.5234,"make":"Toyota","date_purchased":"2024-04-19 17:28:47"}
*** Script: das: {"luxury":false}
GlideDynamicAttributeStore : toString()
Renvoie le contenu de l’objet GlideDynamicAttributeStore sous forme de chaîne.
| Nom | Type | Description |
|---|---|---|
| Néant |
| Type | Description |
|---|---|
| Chaîne | Objet GlideDynamicAttribute sous forme de chaîne. Par exemple : |
L’exemple de code suivant montre comment appeler cette méthode.
var das = new GlideDynamicAttributeStore();
das.setDynamicAttributeValue("color","blue");
das.setDynamicAttributeValue("make","Toyota");
das.setDynamicAttributeValue("model","CRV");
das.setDynamicAttributeValue("luxury",true);
das.setDynamicAttributeValue("cost",12000);
das.setDynamicAttributeValue("avg_mpg",24.5);
das.setDynamicAttributeValue("total_miles",5324);
das.setDynamicAttributeValue("date_purchased",new GlideDateTime());
gs.info('das: ' + das.toString());
Sortie :
*** Script: das: {"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"}