### *** This interface provides Binary Compatibility only, not Source Compatibility ***

Package com.sas.services.information.metadata

# Interface DataTableInterface

All Superinterfaces:
  `ClassifierInterface`, `MetadataInterface`, `PublicObjectInterface`, `Remote`

All Known Subinterfaces:
  `ExternalTableInterface`, `PhysicalTableInterface`, `RelationalTableInterface`

@SASScope("ALL") @BinaryCompatibilityOnly public interface DataTableInterface extends ClassifierInterface

- ## Field Summary

  ### Fields inherited from interface com.sas.services.information.metadata.MetadataInterface

  `METADATA_STATE_DELETED, METADATA_STATE_DESTROYED, METADATA_STATE_NEW, METADATA_STATE_NORMAL, PERMISSION_READMETADATA, PERMISSION_WRITEMETADATA`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addColumn(ColumnInterface column)`
  Add a column to this table.
  `void`
  `addColumnAt(ColumnInterface column, int index)`
  Inserts the column at the specified position in this List.
  `void`
  `addColumnHierarchy(ColumnHierarchyInterface columnHierarchy)`
  Add a column hierarchy to the list of column hierarchies for this data table.
  `void`
  `addRole(DataTableRoleInterface role)`
  Add a role to the list of roles describing this DataTable.
  `void`
  `addRole(String context, String objectRole)`
  Given the context and object role, create a new Role and add it to the roles for this DataTable.
  `List<ColumnHierarchyInterface>`
  `getColumnHierarchies()`
  Return the list of column hierarchies for this data table.
  `List`
  `getColumns()`
  Get the list of columns in this table.
  `double`
  `getNumRows()`
  Get the number of rows in this table.
  `List`
  `getRoles()`
  Get the Roles associated with this DataTable.
  `RelationalSchemaInterface`
  `getSchema()`
  Get the schema object that this table belongs to.
  `String`
  `getTableName()`
  Get the table name for this data table.
  `void`
  `removeColumn(int pos)`
  Removes single column from a DataTable.
  `void`
  `removeColumn(ColumnInterface column)`
  Remove a column from this table.
  `void`
  `removeColumnHierarchy(ColumnHierarchyInterface columnHierarchy)`
  Remove a column hierarchy from the list of column hierarchies for this data table.
  `void`
  `removeRole(DataTableRoleInterface role)`
  Remove a role from the list of roles describing this DataTable.
  `void`
  `setNumRows(double rows)`
  Set the number of rows in the table.
  `void`
  `setSchema(RelationalSchemaInterface schema)`
  Set the schema object this table belongs to.
  `void`
  `setTableName(String name)`
  Set the Table name of this table.

  ### Methods inherited from interface com.sas.services.information.metadata.ClassifierInterface

  `getSourceClassifierMaps, getTargetClassifierMaps`

  ### Methods inherited from interface com.sas.services.information.metadata.MetadataInterface

  `add, addAccessControl, addAttribute, addAttributes, addDocument, addExtension, addGroup, addImplementor, addKeyword, addNoteTextStore, addNoteTextStore, addObjectProperty, addObjectProperty, addPermissions, addPrompt, addPropertySet, addRemark, addResponsibleParty, addTransactionListener, addUsedByPrototype, checkin, checkout, commit, copyTo, countAssociatedObjects, delete, deleteAttribute, deleteAttributes, destroy, getAccessControls, getAttribute, getAttributes, getAuthorizationUtil, getCreateDate, getCreatedBy, getDescription, getDocuments, getEntityKey, getEntityURL, getExtensions, getGroups, getGUID, getIdentities, getImplementors, getKeywords, getLockedBy, getModifiedBy, getModifyDate, getNoteTextStore, getNoteTextStores, getNoteTextStoresByRole, getObjectProperties, getParent, getParentPath, getParents, getPath, getPaths, getPermission, getPermissions, getPermissions, getPreviousVersionNames, getPrimaryPropertyGroup, getPrompt, getPrompts, getPropertyBag, getPropertySets, getRemarksList, getReposId, getRepository, getRepositoryEntity, getRepositoryName, getReposKey, getResponsibleParties, getState, getTrackingId, getType, getUsageVersion, getUsedByPrototypes, getUsingPrototype, getVersion, isAuthorized, isCompatible, isDeleted, isDestroyed, isObjectAlive, isReadCompatible, mapNameToFilesystem, mapUrlToFilesystem, moveTo, newServiceObject, refresh, removeAccessControl, removeDocument, removeExtension, removeGroup, removeImplementor, removeKeyword, removeNoteTextStore, removeObjectProperty, removePermissions, removePrompt, removePropertySet, removeResponsibleParty, removeResponsiblePartyByIdentity, removeUsedByPrototype, rollback, setAttribute, setAttributes, setDeleted, setDescription, setDocuments, setExtensions, setGroups, setGUID, setKeywords, setName, setNoteTextStores, setObjectProperties, setPermission, setPrimaryPropertyGroup, setPrompt, setPrompts, setRemarksList, setRepository, setUsingPrototype, startTransaction, toByteArray, transactionEvent, uncheckout, update, updateFromBag, version`

  ### Methods inherited from interface com.sas.services.information.publicobject.PublicObjectInterface

  `addProcessorInterface, getContainer, getIdentifier, getName, getObjectURI, getPathUrl, getProcessorInterface, getTypeDescriptor`

- ## Method Details

  - ### getTableName

    String getTableName() throws ServiceException, RemoteException
    Get the table name for this data table.
    Returns:
      The table name String.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### setTableName

    void setTableName(String name) throws ServiceException, RemoteException
    Set the Table name of this table.
    Parameters:
      `name` - The new Table name.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getNumRows

    double getNumRows() throws ServiceException, RemoteException
    Get the number of rows in this table.
    Returns:
      The number of rows.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### setNumRows

    void setNumRows(double rows) throws ServiceException, RemoteException
    Set the number of rows in the table.
    Parameters:
      `rows` - The number of rows in the table.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getColumns

    List getColumns() throws ServiceException, RemoteException
    Get the list of columns in this table.
    Returns:
      The List of `ColumnInterface` objects associated with this table.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### addColumn

    void addColumn(ColumnInterface column) throws ServiceException, RemoteException
    Add a column to this table.
    Parameters:
      `column` - The new column to add.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### addColumnAt

    void addColumnAt(ColumnInterface column, int index) throws ServiceException, RemoteException
    Inserts the column at the specified position in this List. Shifts the column currently at that position (if any) and any subsequent columns to the right (adds one to their indices).
    Parameters:
      `column` - The column to add to this table.
      `index` - The position in the column list to add the new column.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### removeColumn

    void removeColumn(ColumnInterface column) throws ServiceException, RemoteException
    Remove a column from this table.
    Parameters:
      `column` - The column to remove.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### removeColumn

    void removeColumn(int pos) throws ServiceException, RemoteException
    Removes single column from a DataTable.
    Parameters:
      `pos` - is the index of Smart Column object in column association list.
    Throws:
      `ServiceException` - If there's a repository error.
      `RemoteException` - in the event of remote object failure.

  - ### getSchema

    RelationalSchemaInterface getSchema() throws ServiceException, RemoteException
    Get the schema object that this table belongs to.
    Returns:
      The schema object.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### setSchema

    void setSchema(RelationalSchemaInterface schema) throws ServiceException, RemoteException
    Set the schema object this table belongs to.
    Parameters:
      `schema` - The schema object this table belongs to.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getRoles

    List getRoles() throws ServiceException, RemoteException
    Get the Roles associated with this DataTable.
    Returns:
      A list of `DataTableRoleInterface` objects.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### addRole

    void addRole(DataTableRoleInterface role) throws ServiceException, RemoteException
    Add a role to the list of roles describing this DataTable.
    Parameters:
      `role` - A new role to add to this table's roles.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### addRole

    void addRole(String context, String objectRole) throws ServiceException, RemoteException
    Given the context and object role, create a new Role and add it to the roles for this DataTable.
    Parameters:
      `context` - The context of this table.
      `objectRole` - The object role for this table.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### removeRole

    void removeRole(DataTableRoleInterface role) throws ServiceException, RemoteException
    Remove a role from the list of roles describing this DataTable.
    Parameters:
      `role` - The role to remove.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### addColumnHierarchy

    void addColumnHierarchy(ColumnHierarchyInterface columnHierarchy) throws ServiceException, RemoteException
    Add a column hierarchy to the list of column hierarchies for this data table.
    Parameters:
      `columnHierarchy` -
    Throws:
      `ServiceException`
      `RemoteException`

  - ### getColumnHierarchies

    List<ColumnHierarchyInterface> getColumnHierarchies() throws ServiceException, RemoteException
    Return the list of column hierarchies for this data table.
    Returns:
      A list of `ColumnHierarchyInterface` objects.
    Throws:
      `ServiceException`
      `RemoteException`

  - ### removeColumnHierarchy

    void removeColumnHierarchy(ColumnHierarchyInterface columnHierarchy) throws ServiceException, RemoteException
    Remove a column hierarchy from the list of column hierarchies for this data table.
    Parameters:
      `columnHierarchy` -
    Throws:
      `ServiceException`
      `RemoteException`