GlideDynamicAttributeStore : global
L’API GlideDynamicAttributeStore permet d’accéder à un nouveau type de données de magasin d’attributs dynamiques intégré, 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 auxquels ce type de données est appliqué sont affichés comme dynamic_attribute_store dans la description du type de données de colonne de la table. Pour plus d’informations sur les attributs dynamiques, reportez-vous à la rubrique Schéma dynamique.
Pour utiliser cette API afin de 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 créer 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 |
|---|---|
| Aucun |
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 la 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 date/heure dans les paramètres régionaux de l’utilisateur au lieu de 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 la définition de votre 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 : getDynamicAttributeValue(String groupAttrPath)
Renvoie la valeur de l’attribut spécifié dans l’élément de magasin d’attributs dynamique.
| Nom | Type | Description |
|---|---|---|
| groupAttrPath (en anglais seulement) | Chaîne | Chemin d’accès de l’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 du 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.
- Les valeurs booléennes sont 1 et 0 au lieu de « vrai » et « faux ».
- Valeurs date/heure en UTC au lieu des paramètres régionaux de l’utilisateur.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Chaîne | Représentation de chaîne compacte des valeurs stockées dans l’objet GlideDynamicAttributeStore. Le contenu de cette chaîne dépend de la définition de votre 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 de l’objet)
Efface l’objet GlideDynamicAttributeStore actuel, puis stocke la carte JSON transmise dans l’objet GlideDynamicAttributeStore.
D’un point de vue fonctionnel, cette méthode est identique à GlideDynamicAttributeStore : setValue(valeur de l’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 du magasin d’attributs dynamiques actuel. La valeur transmise doit appartenir à l’un des types de données suivants :
|
| Type | Description |
|---|---|
| Aucun |
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, valeur de l’objet)
Définit la valeur de l’attribut dynamique situé sur un chemin spécifié dans un élément de magasin d’attributs dynamique.
Cette méthode fonctionne de la même manière que la méthode, GlideDynamicAttributeStore : setDynamicAttributeValue(String groupAttrPath, valeur de l’objet) à l’exception de sa gestion des valeurs booléennes et date/heure. Cette méthode suppose que toutes les valeurs date/heure sont fournies dans les paramètres régionaux de l’utilisateur.
| Nom | Type | Description |
|---|---|---|
| groupAttrPath (en anglais seulement) | Chaîne | Chemin d’accès de l’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, valeur de l’objet)
Définit l’attribut dynamique référencé par un chemin d’accès d’attribut/groupe spécifié sur une valeur spécifiée.
| Nom | Type | Description |
|---|---|---|
| groupAttrPath (en anglais seulement) | Chaîne | Chemin d’accès de l’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 de l’objet)
Définit le stockage JSON interne du champ sur la représentation sous forme 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 toutes les valeurs JSON non valides. |
| Type | Description |
|---|---|
| Objet | Objet GlideDynamicAttributeStore mis à jour. |
L’exemple de code suivant montre comment appeler cette méthode.
var das = new GlideDynamicAttributeStore();
var otherValues = new GlideDynamicAttributeStore();
das.setDynamicAttributeValues(otherValues);
GlideDynamicAttributeStore : setValue(valeur de l’objet)
Efface l’objet GlideDynamicAttributeStore actuel, puis stocke la carte JSON transmise dans cet objet GlideDynamicAttributeStore.
D’un point de vue fonctionnel, cette méthode est la même, GlideDynamicAttributeStore : setDisplayValue (valeur de l’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 |
|---|---|
| nul |
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 | 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"}}