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

Offical Documentation

Official Docs: