GlideDynamicAttributeStore - 전역
GlideDynamicAttributeStore API를 사용하여 테이블이나 필드와 독립적으로 동적 속성으로 작업하기 위한 객체를 생성합니다.
이 API는 GlideDynamicAttributeStore 객체에서 동적 스키마 속성을 가져오고 설정할 수 있는 메서드를 제공합니다. 동적 속성에 대한 자세한 내용은 동적 스키마를 참조하십시오.
이 API를 사용하여 동적 속성을 만들려면 dynamic_schema_writer 역할이 있어야 합니다. 이 API를 사용하여 동적 데이터를 읽으려면 dynamic_schema_reader 역할이 있어야 합니다.
이 API에는 GlideRecord API의 동적 스키마 메서드와 동일한 기능을 가진 메서드가 있습니다. 여러 기록에 동일한 동적 속성을 설정하려면 이 API를 사용합니다. 이 API를 사용하면 의도한 속성으로 GlideDynamicAttributeStore 객체를 스테이징한 다음 setDynamicAttributeValue() 또는 setDynamicAttributeValues() 메서드를 사용하여 해당 객체를 기록에 복사할 수 있습니다.
- addAggregate()
- addHaving()
- getDynamicAttributeValue()
- getDynamicAttributeDisplayValue()
- getValue()
- 그룹의()
- orderBy()
- orderByAggregate()
- addQuery()
- getDisplayValue()
- getDynamicAttribute()
- getDynamicAttributeDisplayValue()
- getDynamicAttributeValue()
- getValue()
- orderBy()
- orderByDesc()
- setDisplayValue()
- setDynamicAttributeDisplayValue()
- setDynamicAttributeValue()
- setDynamicAttributeValues()
- setValue()
GlideDynamicAttributeStore - clear()
GlideDynamicAttributeStore 객체에서 모든 속성과 해당 값을 지웁니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 안 함 |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 코드 예제에서는 이 메서드를 호출하는 방법을 보여 줍니다.
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());
출력:
*** 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()
현재 GlideDynamicAttributeStore 객체에 저장된 값의 JSON 맵 표현을 반환합니다.
- 부울 값은 1과 0 대신 "예" 및 "아니오"입니다.
- UTC 대신 사용자 로캘의 날짜/시간 값입니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 안 함 |
| 유형 | 설명 |
|---|---|
| 문자열 | GlideDynamicAttributeStore 객체에 저장된 값에 대해 사용자가 읽을 수 있는 JSON 맵입니다. 이 문자열의 내용은 동적 스키마 정의에 따라 달라집니다. |
다음 코드 예제에서는 이 메서드를 호출하는 방법을 보여 줍니다.
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());
출력:
*** 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)
지정된 동적 속성 경로에 위치한 동적 속성 객체를 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| attributePath | 문자열 | 연결된 동적 스키마 속성을 찾는 데 사용할 속성 경로입니다. 형식:
테이블: 동적 속성 [dynamic_attribute] 테이블의 속성 필드에 있습니다. |
| 유형 | 설명 |
|---|---|
| IDynamicAttribute | 동적 속성을 포함하는 객체입니다. |
다음 코드 예제에서는 이 메서드를 호출하는 방법을 보여 줍니다.
//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()
스토어에 있는 동적 속성 정의 세트를 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 안 함 |
| 유형 | 설명 |
|---|---|
| 배열 | 스토어에 있는 모든 임시 및 비임시 동적 속성을 포함하는 배열입니다.
|
다음 예시에서는 임시 및 비임시 동적 속성을 검색하는 방법을 보여줍니다.
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());
}
출력:
*** 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(문자열 attrPath)
동적 속성 스토어 요소 내에서 지정된 속성의 값을 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 속성 경로 | 문자열 | 연결된 동적 스키마 속성을 찾는 데 사용할 속성 경로입니다. 형식:
테이블: 동적 속성 [dynamic_attribute] 테이블의 속성 필드에 있습니다. |
| 유형 | 설명 |
|---|---|
| 객체 | 전달된 그룹/속성 경로에서 참조하는 동적 스키마 속성의 값입니다. attributePath 매개 변수에 잘못된 정보가 포함되어 있으면 null을 반환합니다. |
다음 코드 예제에서는 이 메서드를 호출하는 방법을 보여 줍니다.
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"));
출력:
*** Script: Value returned by getDynamicAttributeValue(): blue
*** Script: Value returned by getDynamicAttributeValue(): 1
GlideDynamicAttributeStore - getDynamicNamespace()
동적 네임스페이스를 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 안 함 |
| 유형 | 설명 |
|---|---|
| 객체 | 네임스페이스 객체. |
다음 예제에서는 동적 네임스페이스를 사용하여 스토어를 만들고 네임스페이스의 이름을 검색하는 방법을 보여줍니다.
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();
출력:
*** Script: new_cars = new GlideDynamicAttributeStore('u_product/u_car_inventory')
*** Script: new_cars.getDynamicNamespace() : u_product/u_car_inventory
GlideDynamicAttributeStore - getValue()
현재 GlideDynamicAttributeStore 개체의 내용에 대한 간결한 문자열 표현을 반환합니다.
- 부울 값은 "예" 및 "아니오" 대신 1과 0입니다.
- 사용자의 로캘 대신 UTC의 날짜/시간 값입니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 안 함 |
| 유형 | 설명 |
|---|---|
| 문자열 | GlideDynamicAttributeStore 객체에 저장된 값의 간결한 문자열 표현입니다. 이 문자열의 내용은 동적 스키마 정의에 따라 달라집니다. |
다음 코드 예제에서는 이 메서드를 호출하는 방법을 보여 줍니다.
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());
출력:
*** 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(객체 값)
현재 GlideDynamicAttributeStore 객체를 지운 다음 전달된 JSON 맵을 GlideDynamicAttributeStore 객체에 저장합니다.
이 메서드는 모든 날짜 값이 사용자의 로케일에서 제공된다고 가정한다는 점을 제외하고는 기능적으로 와 동일 GlideDynamicAttributeStore - setValue(객체 값)합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 값 | 객체 | 현재 동적 속성 스토어 객체에서 설정할 값입니다. 전달된 값은 다음 데이터 유형 중 하나여야 합니다.
|
| 유형 | 설명 |
|---|---|
| 없음 |
다음 예제에서는 이 메서드를 호출하는 방법을 보여 줍니다.
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());
출력:
*** 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, 객체 값)
동적 속성 스토어 요소 내의 지정된 경로에 위치한 동적 속성의 값을 설정합니다.
이 메서드는 부울 및 날짜/시간 값 처리를 제외하고는 메서드와 GlideDynamicAttributeStore - setDynamicAttributeValue(String attrPath, Object value) 동일하게 작동합니다. 이 메서드는 모든 날짜/시간 값이 사용자의 로케일로 제공된다고 가정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 속성 경로 | 문자열 | 연결된 동적 스키마 속성을 찾는 데 사용할 속성 경로입니다. 형식:
테이블: 동적 속성 [dynamic_attribute] 테이블의 속성 필드에 있습니다. |
| 값 | 객체 | 지정된 속성에서 설정할 값입니다. 주: 동적 속성의 경우 다음 데이터 유형만 지원됩니다.
|
| 유형 | 설명 |
|---|---|
| 객체 | GlideDynamicAttributeStore 객체를 업데이트했습니다. 매개 변수가 attrPath 유효하지 않으면 메서드는 IllegalArgumentException을 throw합니다. |
다음 코드 예제에서는 이 메서드를 호출하는 방법을 보여 줍니다.
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());
출력:
*** 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, Object value)
지정된 속성 경로에서 참조하는 동적 속성을 지정된 값으로 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 속성 경로 | 문자열 | 연결된 동적 스키마 속성을 찾는 데 사용할 속성 경로입니다. 형식:
테이블: 동적 속성 [dynamic_attribute] 테이블의 속성 필드에 있습니다. |
| 값 | 객체 | 지정된 속성에서 설정할 값입니다. 주: 동적 속성의 경우 다음 데이터 유형만 지원됩니다.
|
| 유형 | 설명 |
|---|---|
| 객체 | GlideDynamicAttributeStore 객체를 업데이트했습니다. 매개 변수가 attrPath 유효하지 않으면 메서드는 IllegalArgumentException을 throw합니다. |
다음 코드 예제에서는 이 메서드를 호출하는 방법을 보여 줍니다.
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());
출력:
*** 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(객체 값)
필드의 내부 JSON 스토리지를 전달된 값의 문자열 표현으로 설정합니다. 전달된 값이 GlideDynamicAttributeStore 개체의 다른 인스턴스인 경우 해당 개체의 값을 현재 개체로 복사합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 값 | 객체 | 연결된 GlideRecord에 값으로 저장할 JSON 객체입니다. 메서드는 잘못된 JSON 값을 무시합니다. |
| 유형 | 설명 |
|---|---|
| 객체 | GlideDynamicAttributeStore 객체를 업데이트했습니다. |
다음 예제에서는 GlideDynamicAttributeStore 개체에 속성/값 쌍을 저장한 다음 한 개체에서 다른 개체로 동일한 값을 복사하는 방법을 보여 줍니다.
var das = new GlideDynamicAttributeStore();
var otherValues = new GlideDynamicAttributeStore();
otherValues.setDynamicAttributeValue("position_x", 5);
otherValues.setDynamicAttributeValue("position_y", 6);
das.setDynamicAttributeValues(otherValues);
gs.info(das);
출력:
{"position_x":"5.0","position_y":"6.0"}
GlideDynamicAttributeStore - setDynamicNamespace(String namespaceName)
동적 네임스페이스 이름을 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| namespaceName | 문자열 | 동적 네임스페이스 이름입니다. |
| 유형 | 설명 |
|---|---|
| 객체 | GlideDynamicAttributeStore 객체를 업데이트했습니다. |
다음 예제에서는 기본 네임스페이스의 이름을 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());
출력:
*** Script: store1 = new GlideDynamicAttributeStore()
*** Script: store1.getDynamicNamespace() : default
*** Script: store1.setDynamicNamespace('namespace1')
*** Script: store1.getDynamicNamespace() : namespace1
GlideDynamicAttributeStore - setValue(객체 값)
현재 GlideDynamicAttributeStore 객체를 지운 다음 전달된 JSON 맵을 해당 GlideDynamicAttributeStore 객체에 저장합니다.
이 메서드는 모든 날짜 값이 UTC라고 가정한다는 점을 제외하고는 GlideDynamicAttributeStore - setDisplayValue(객체 값) 기능적으로 동일합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 값 | 객체 | GlideDynamicAttributeStore 객체에 저장할 JSON 맵 객체입니다. 예: |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 예제에서는 이 메서드를 호출하는 방법을 보여 줍니다.
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());
출력:
*** 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()
GlideDynamicAttributeStore 객체의 내용을 문자열로 반환합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 안 함 |
| 유형 | 설명 |
|---|---|
| 문자열 | GlideDynamicAttribute 객체를 문자열로 사용합니다. 예: |
다음 코드 예제에서는 이 메서드를 호출하는 방법을 보여 줍니다.
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());
출력:
*** 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"}