The GlideTableHierarchy API provides methods for handling information about table relationships.

GlideTableHierarchy - GlideTableHierarchy(String tableName)

Instantiates a GlideTableHierarchy object.

Table 1. Parameters
Name Type Description
tableName String The name of the table.

Example

var table = new GlideTableHierarchy("incident"); 
gs.info(table.getTables());
Output:
incident,task

GlideTableHierarchy - getAllExtensions()

Returns an array of strings containing all tables that extend the current table and includes the current table.

Table 2. Parameters
Name Type Description
None
Table 3. Returns
Type Description
Array An array of strings containing the tables in the hierarchy that includes the current table.

Example

var table = new GlideTableHierarchy("task"); 
gs.info(table.getAllExtensions());

Output: Line breaks added for clarity.

task,sc_task,problem_task,change_phase,sc_req_item,kb_submission,
release_phase,problem,ticket,sm_task,hr_task,change_task,change_request,
change_request_imac,incident,release_task,vtb_task,sm_order,hr_case,
sysapproval_group,sc_request

GlideTableHierarchy - getBase()

Returns the parent class.

Table 4. Parameters
Name Type Description
None
Table 5. Returns
Type Description
String The parent class.

Example

var table = new GlideTableHierarchy("cmdb_ci_server"); 
gs.info(table.getBase());
Output:
cmdb_ci_computer

GlideTableHierarchy - getHierarchy()

Returns an array of strings containing all classes in the hierarchy of the current table.

Table 6. Parameters
Name Type Description
none
Table 7. Returns
Type Description
Array An array of strings of the classes in the hierarchy.

Example

var table = new GlideTableHierarchy("incident"); 
gs.info(table.getHierarchy());
Output:
incident,task

GlideTableHierarchy - getName()

Returns the table's name.

Table 8. Parameters
Name Type Description
None
Table 9. Returns
Type Description
String The table's name.

Example

var table = new GlideTableHierarchy("incident"); 
gs.info(table.getName());
Output:
incident

GlideTableHierarchy - getRoot()

Returns the top level class in the hierarchy.

Table 10. Parameters
Name Type Description
None
Table 11. Returns
Type Description
String Name of the root class.

Example

var table = new GlideTableHierarchy("cmdb_ci_server"); 
gs.info(table.getRoot());
Output:
cmdb

GlideTableHierarchy - getTables()

Returns an array of strings of the table names in the hierarchy.

Table 12. Parameters
Name Type Description
None
Table 13. Returns
Type Description
Array An array of strings containing the names of tables in the hierarchy.

Example

var table = new GlideTableHierarchy("incident"); 
gs.info(table.getTables());
Output:
incident,task

GlideTableHierarchy - getTableExtensions()

Returns an array of strings containing all tables that extend the current table.

Table 14. Parameters
Name Type Description
None
Table 15. Returns
Type Description
Array An array of strings containing the tables that extend the current table.

Example

var table = new GlideTableHierarchy("task"); 
gs.info(table.getTableExtensions());
Output: Line breaks added for clarity
sc_task,problem_task,change_phase,sc_req_item,kb_submission,release_phase,problem,
ticket,sm_task,hr_task,change_task,change_request,change_request_imac,incident,
release_task,vtb_task,sm_order,hr_case,sysapproval_group,sc_request

GlideTableHierarchy - isBaseClass()

Returns true if this is a base class.

Table 16. Parameters
Name Type Description
None
Table 17. Returns
Type Description
Boolean True if the current table has no parent and has extensions.

Example

var table = new GlideTableHierarchy("incident"); 
gs.info(table.isBaseClass());
Output:
false

GlideTableHierarchy - isSoloClass()

Returns true if this table is not in a hierarchy.

Table 18. Parameters
Name Type Description
None
Table 19. Returns
Type Description
Boolean True if the current table has no parent and no extensions.

Example

var table = new GlideTableHierarchy("sys_user"); 
gs.info(table.isSoloClass());
Output:
true

GlideTableHierarchy - hasExtensions()

Returns true of this class has been extended.

Table 20. Parameters
Name Type Description
None
Table 21. Returns
Type Description
Boolean True if the current table has extensions.

Example

var table = new GlideTableHierarchy("incident"); 
gs.info(table.hasExtensions());
Output:
false