---
sourceDocument: Xanadu API Reference
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - en-US

ft:publication_title :

    - Xanadu API Reference

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# GlideElementDescriptor - Scoped, Global

# GlideElementDescriptor - Scoped, Global {#ariaid-title1}

* Release version: Xanadu
* 
* Updated August 1, 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 4 minutes to read

The GlideElementDescriptor API provides information about individual fields in a glide record.

There is no constructor for this class. Use the GlideElement or GlideRecord
getED() method to obtain a GlideElementDescriptor object.

## GlideElementDescriptor - getAttachmentEncryptionType() {#ariaid-title2}

Returns the encryption type used for attachments on the element's table.
This method is for use with the Edge Encryption plugin.
{#r_ScopedGlideElementDescriptorGetAttachmentEncyrptionType__table_a3m_cg4_yr__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Table 1. Parameters]

{#r_ScopedGlideElementDescriptorGetAttachmentEncyrptionType__table_a3m_cg4_yr} {#r_ScopedGlideElementDescriptorGetAttachmentEncyrptionType__table_b3m_cg4_yr__entry__2}

| Type | Description |
|-|-|
| String | The encryption type used on attachments. Returns null if attachments on the element's table are not being encrypted. |
[Table 2. Returns]

{#r_ScopedGlideElementDescriptorGetAttachmentEncyrptionType__table_b3m_cg4_yr}  

    var grInc = new GlideRecord('incident');
    grInc.query('priority', '1');

    var field = grInc.getElement('priority');
    var ed = field.getED();

    var isEdge = ed.getAttachmentEncryptionType();
    gs.info(isEdge);

Output:

    null

## GlideElementDescriptor - getEncryptionType() {#ariaid-title3}

Returns the element's encryption type.
This method is for use with the Edge Encryption plugin.
{#r_ScopedGlideElementDescriptorGetEncryptionType__table_icz_j24_yr__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Table 3. Parameters]

{#r_ScopedGlideElementDescriptorGetEncryptionType__table_icz_j24_yr} {#r_ScopedGlideElementDescriptorGetEncryptionType__table_jcz_j24_yr__entry__2}

| Type | Description |
|-|-|
| String | The element's encryption type. Returns null if the element is not encrypted. |
[Table 4. Returns]

{#r_ScopedGlideElementDescriptorGetEncryptionType__table_jcz_j24_yr}  

    var grInc = new GlideRecord('incident');
    grInc.query('priority', '1');

    var field = grInc.getElement('priority');
    var ed = field.getED();

    sEdge = ed.getEncryptionType();
    gs.info(isEdge);

Output:

    null

## GlideElementDescriptor - getInternalType() {#ariaid-title4}

Returns the element's internal data type.
{#r_ScopedGlideElementDescriptorGetInternalType__table_rcc_gv3_yr__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Table 5. Parameters]

{#r_ScopedGlideElementDescriptorGetInternalType__table_rcc_gv3_yr} {#r_ScopedGlideElementDescriptorGetInternalType__table_scc_gv3_yr__entry__2}

| Type | Description |
|-|-|
| String | The element's internal data type. Possible values: * boolean * char * collection * conditions * date * decimal * documentation_field * domain_id * due_date * email * field_name * file_attachment * float * glide_date * glide_date_time * glide_duration * glide_list * GUID * html * image * integer * long * longint * multi_two_lines * journal * journal_input * numeric * order_index * password * ph_number * reference * script * script_plain * string * sys_class_name * table_name * template_value * timer * translated_field * url * user_image * user_input * user_roles * video * workflow {#r_ScopedGlideElementDescriptorGetInternalType__ul_g4m_znv_bkb} |
[Table 6. Returns]

{#r_ScopedGlideElementDescriptorGetInternalType__table_scc_gv3_yr}  

    var grInc = new GlideRecord('incident');
    grInc.query('priority', '1');
     
    var field = grInc.getElement('priority');
    var ed = field.getED();
     
    var isEdge = ed.getInternalType();
    gs.info(isEdge);

Output:

    integer

## GlideElementDescriptor - getLabel() {#ariaid-title5}

Returns the element's label.
{#r_ScopedGlideElementDescriptorGetLabel__table_ypm_sw3_yr__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Table 7. Parameters]

{#r_ScopedGlideElementDescriptorGetLabel__table_ypm_sw3_yr} {#r_ScopedGlideElementDescriptorGetLabel__table_zpm_sw3_yr__entry__2}

| Type | Description |
|-|-|
| String | The element's label. |
[Table 8. Returns]

{#r_ScopedGlideElementDescriptorGetLabel__table_zpm_sw3_yr}  

    var grInc = new GlideRecord('incident');
    grInc.query('priority', '1');
     
    var field = grInc.getElement('priority');
    var ed = field.getED();
     
    var isEdge = ed.getLabel();
    gs.info(isEdge);

Output:

    Priority

## GlideElementDescriptor - getLength() {#ariaid-title6}

Returns the element's length.
{#r_ScopedGlideElementDescriptorGetLength__table_hpy_3x3_yr__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Table 9. Parameters]

{#r_ScopedGlideElementDescriptorGetLength__table_hpy_3x3_yr} {#r_ScopedGlideElementDescriptorGetLength__table_ipy_3x3_yr__entry__2}

| Type | Description |
|-|-|
| Number | The element's size. |
[Table 10. Returns]

{#r_ScopedGlideElementDescriptorGetLength__table_ipy_3x3_yr}  

    var grInc = new GlideRecord('incident');
    grInc.query('priority', '1');
     
    var field = grInc.getElement('priority');
    var ed = field.getED();
     
    var isEdge = ed.getLength();
    gs.info(isEdge);

Output:

    40

## GlideElementDescriptor - getName() {#ariaid-title7}

Returns the element's name.
{#r_ScopedGlideElementDescriptorGetName__table_sh3_zx3_yr__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Table 11. Parameters]

{#r_ScopedGlideElementDescriptorGetName__table_sh3_zx3_yr} {#r_ScopedGlideElementDescriptorGetName__table_th3_zx3_yr__entry__2}

| Type | Description |
|-|-|
| String | The element's name. |
[Table 12. Returns]

{#r_ScopedGlideElementDescriptorGetName__table_th3_zx3_yr}  

    var grInc = new GlideRecord('incident');
    grInc.query('priority', '1');
     
    var field = grInc.getElement('priority');
    var ed = field.getED();
     
    var isEdge = ed.getName();
    gs.info(isEdge);

Output:

    priority

## GlideElementDescriptor - getPlural() {#ariaid-title8}

Returns the element's plural label.
{#r_SGED-getPlural__table_zqp_j1z_dv__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Table 13. Parameters]

{#r_SGED-getPlural__table_zqp_j1z_dv} {#r_SGED-getPlural__table_arp_j1z_dv__entry__2}

| Type | Description |
|-|-|
| String | The element's plural label. |
[Table 14. Returns]

{#r_SGED-getPlural__table_arp_j1z_dv}  

    var now_GR = new GlideRecord('incident');
    now_GR.query();
    var ed = now_GR.getED();
    gs.info(ed.getPlural());

Output:

    Incidents

## GlideElementDescriptor - hasAttachmentsEncrypted() {#ariaid-title9}

Returns true if an encrypted attachment has been added to the table.
This method is for use with the Edge Encryption plugin.
{#r_ScopedGlideElementDescriptorHasAttachmentsEncrypted__table_pwt_1h4_yr__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Table 15. Parameters]

{#r_ScopedGlideElementDescriptorHasAttachmentsEncrypted__table_pwt_1h4_yr} {#r_ScopedGlideElementDescriptorHasAttachmentsEncrypted__table_qwt_1h4_yr__entry__2}

| Type | Description |
|-|-|
| Boolean | Returns true if an encrypted attachment has been added to the table. |
[Table 16. Returns]

{#r_ScopedGlideElementDescriptorHasAttachmentsEncrypted__table_qwt_1h4_yr}  

    var grInc = new GlideRecord('incident');
    grInc.query('priority', '1');

    var field = grInc.getElement('priority');
    var ed = field.getED();

    var isEdge = ed.hasAttachmentsEncrypted();
    gs.info(isEdge);

Output:

    false

## GlideElementDescriptor - isAutoOrSysID() {#ariaid-title10}

Returns true if the element is an automatically generated or system field.
Automatically generated and system fields cannot be encrypted. This method is for use with
the Edge Encryption plugin.
{#r_ScopedGlideElementDescriptorIsAutoOrSysID__table_y3g_nd4_yr__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Table 17. Parameters]

{#r_ScopedGlideElementDescriptorIsAutoOrSysID__table_y3g_nd4_yr} {#r_ScopedGlideElementDescriptorIsAutoOrSysID__table_z3g_nd4_yr__entry__2}

| Type | Description |
|-|-|
| Boolean | True if the element is automatically generated or a system field. |
[Table 18. Returns]

{#r_ScopedGlideElementDescriptorIsAutoOrSysID__table_z3g_nd4_yr}  

    var grInc = new GlideRecord('incident');
    grInc.query('priority', '1');
    var field = grInc.getElement('priority');
    var ed = field.getED();

    isEdge = ed.isAutoOrSysID();
    gs.info(isEdge);

Output:

    false

## GlideElementDescriptor - isChoiceTable() {#ariaid-title11}

Returns true if the element is defined as a dropdown choice in its dictionary
definition.
Choice fields cannnot be encrypted.
{#r_ScopedGlideElementDescriptorIsChoiceTable__table_upl_31s_ls__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Table 19. Parameters]

{#r_ScopedGlideElementDescriptorIsChoiceTable__table_upl_31s_ls} {#r_ScopedGlideElementDescriptorIsChoiceTable__table_vpl_31s_ls__entry__2}

| Type | Description |
|-|-|
| Boolean | Returns true if the element is defined as a dropdown choice. Returns true even if there are no entries defined in the choice table. The last choice type, suggestion, does not return true. |
[Table 20. Returns]

{#r_ScopedGlideElementDescriptorIsChoiceTable__table_vpl_31s_ls}  

    var grInc = new GlideRecord('incident');
    grInc.query('priority', '1');

    var field = grInc.getElement('priority');
    var ed = field.getED();

    var isChoiceTable = ed.isChoiceTable();
    gs.info(isChoiceTable);

Output:

    true

## GlideElementDescriptor - isEdgeEncrypted() {#ariaid-title12}

Returns true if an element is encrypted.
This method is for use with the Edge Encryption plugin.
{#r_ScopedGlideElementDescriptorIsEdgeEncrypted__table_jq2_gf4_yr__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Table 21. Parameters]

{#r_ScopedGlideElementDescriptorIsEdgeEncrypted__table_jq2_gf4_yr} {#r_ScopedGlideElementDescriptorIsEdgeEncrypted__table_kq2_gf4_yr__entry__2}

| Type | Description |
|-|-|
| Boolean | Returns true if the element is encrypted, false otherwise. |
[Table 22. Returns]

{#r_ScopedGlideElementDescriptorIsEdgeEncrypted__table_kq2_gf4_yr}  

    var grInc = new GlideRecord('incident');
    grInc.query('priority', '1');

    var field = grInc.getElement('priority');
    var ed = field.getED();

    var isEdge = ed.isEdgeEncrypted();
    gs.info(isEdge)

Output:

    false

## GlideElementDescriptor - isMandatory() {#ariaid-title13}

Determines whether the element is mandatory and must contain a value before the record
can be saved.
{#SGED-isMandatory__table_xxq_xwv_shb__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Table 23. Parameters]

{#SGED-isMandatory__table_xxq_xwv_shb} {#SGED-isMandatory__table_yxq_xwv_shb__entry__2}

| Type | Description |
|-|-|
| Boolean | Flag that indicates whether the associated element is mandatory and must contain a value before the record containing the element can be saved. Possible values: * true: element must contain a value; mandatory field * false: element does not have to contain a value {#SGED-isMandatory__ul_l1h_kxv_shb} |
[Table 24. Returns]

{#SGED-isMandatory__table_yxq_xwv_shb}  
This example shows how to check whether the name field is mandatory.

    var isRecordValid;
    var now_GR = new GlideRecord('my_table');
    var field = now_GR.getElement('name');
    var elementDescriptor = field.getED();
    now_GR.query();
    while (now_GR.next()) {
    if (elementDescriptor.isMandatory() && !now_GR.name) {
           isRecordValid = false;
      }
    }

## GlideElementDescriptor - isVirtual() {#ariaid-title14}

Returns true if the element is a virtual element.
A virtual element is a calculated field as set by the dictionary definition of the field.
Virtual fields cannot be encrypted.
{#r_ScopedGlideElementDescriptorIsVirtual__table_xzh_ybs_ls__entry__3}

| Name | Type | Description |
|-|-|-|
| None |   |   |
[Table 25. Parameters]

{#r_ScopedGlideElementDescriptorIsVirtual__table_xzh_ybs_ls} {#r_ScopedGlideElementDescriptorIsVirtual__table_yzh_ybs_ls__entry__2}

| Type | Description |
|-|-|
| Boolean | Returns true if the element is a virtual element. |
[Table 26. Returns]

{#r_ScopedGlideElementDescriptorIsVirtual__table_yzh_ybs_ls}  

    var grInc = new GlideRecord('incident');
    grInc.query('priority', '1');

    var field = grInc.getElement('priority');
    var ed = field.getED();

    var isVirtual = ed.isVirtual();
    gs.info(isVirtual);

Output:

    false


