Name
sn_table_builder.TableDBObject
Description
provides methods for given sys_id/gr of sys_db_object
Script
var TableDBObject = Class.create();
TableDBObject.prototype = {
/**
* @param {document_id | GlideRecord}
*/
initialize: function(target) {
if (TBUtil.isGRInstance(target))
this.gr = target;
else {
var gr = new GlideRecord(TBConstants.SYS_CLASS_DB_OBJECT);
gr.get(target);
this.gr = gr;
}
},
getName: function() {
return this.gr.getValue('name');
},
canRead: function() {
return this.gr.canRead();
},
tableMetadata: function(runningScope) {
var tableScope = this.gr.getValue('sys_scope');
var isRunningScopeDifferent = tableScope !== runningScope;
var name = this.getName();
var hierarchyInfo = this.hierarchyInfo(name);
var sysId = this.gr.getValue('sys_id');
return {
name: name,
sysId : sysId,
label: this.gr.getDisplayValue('label'),
scopeName: this.gr.getDisplayValue('sys_scope'),
scopeId: tableScope,
isRunningScopeDifferent: isRunningScopeDifferent,
isBaseClass: hierarchyInfo.isBaseClass,
isSoloClass: hierarchyInfo.isSoloClass
};
},
isValidRecord: function() {
return this.gr.isValidRecord();
},
hierarchyInfo: function(name) {
var gth = new GlideTableHierarchy(name);
return {
isBaseClass: gth.isBaseClass(),
isSoloClass: gth.isSoloClass()
};
},
type: 'TableDBObject'
};
Sys ID
f2704d10737910107419c907fbf6a70a