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

Package com.sas.services.information.metadata

# Interface PhysicalTableInterface

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

@SASScope("ALL") @BinaryCompatibilityOnly public interface PhysicalTableInterface extends RelationalTableInterface

- ## 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
  `IndexInterface`
  `addIndex(String name, List<ColumnInterface> listColumn)`
  Add a Index to the physical table.
  `IndexInterface`
  `addSimpleIndex(ColumnInterface column)`
  Add a Simple Index (contains only 1 column) to the physical table.
  `List`
  `getColumns()`
  Get the list of columns in this table.
  `List<IndexInterface>`
  `getIndexes()`
  Get the indexes associated with the physical table.
  `SASLibraryInterface`
  `getLibrary()`
  `PhysicalTableAttributes`
  `getPhysicalTableAttributes()`
  `void`
  `removeIndex(IndexInterface index)`
  Remove the index from the physical table.
  `void`
  `setPhysicalTableAttributes(PhysicalTableAttributes attributes)`

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

  `getSourceClassifierMaps, getTargetClassifierMaps`

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

  `addColumn, addColumnAt, addColumnHierarchy, addRole, addRole, getColumnHierarchies, getNumRows, getRoles, getSchema, getTableName, removeColumn, removeColumn, removeColumnHierarchy, removeRole, setNumRows, setSchema, setTableName`

  ### 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`

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

  `addForeignKey, addPrimaryKey, addUniqueKey, getForeignKeys, getPrimaryKey, getUniqueKeys, removeForeignKey, removePrimaryKey, removeUniqueKey`

- ## Method Details

  - ### getPhysicalTableAttributes

    PhysicalTableAttributes getPhysicalTableAttributes() throws ServiceException, RemoteException
    Throws:
      `ServiceException`
      `RemoteException`

  - ### setPhysicalTableAttributes

    void setPhysicalTableAttributes(PhysicalTableAttributes attributes) throws ServiceException, RemoteException
    Throws:
      `ServiceException`
      `RemoteException`

  - ### getColumns

    List getColumns() throws ServiceException, RemoteException
    Description copied from interface: `DataTableInterface`
    Get the list of columns in this table.
    Specified by:
      `getColumns` in interface `DataTableInterface`
    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.

  - ### getLibrary

    SASLibraryInterface getLibrary() throws ServiceException, RemoteException
    Throws:
      `ServiceException`
      `RemoteException`

  - ### addIndex

    IndexInterface addIndex(String name, List<ColumnInterface> listColumn) throws RemoteException, ServiceException
    Add a Index to the physical table. If list of column contains only one column then API creates the simple index ignores the given index name. Simple index name is same as its column name.
    Parameters:
      `name` - is the index name.
      `listColumn` - is a column list associated with the index.
    Returns:
    Throws:
      `ServiceException` - - 1] If index with the given name exist in the physical table 2] If a repository error occurs.
      `RemoteException` - - In the event of remote object failure.

  - ### addSimpleIndex

    IndexInterface addSimpleIndex(ColumnInterface column) throws RemoteException, ServiceException
    Add a Simple Index (contains only 1 column) to the physical table.
    Parameters:
      `column` -
      `name` - is the index name.
    Returns:
    Throws:
      `ServiceException` - - 1] If index with the given name exist in the physical table 2] If a repository error occurs.
      `RemoteException` - - In the event of remote object failure.

  - ### getIndexes

    List<IndexInterface> getIndexes() throws RemoteException, ServiceException
    Get the indexes associated with the physical table.
    Returns:
    Throws:
      `ServiceException` - - If a repository error occurs.
      `RemoteException` - - In the event of remote object failure.

  - ### removeIndex

    void removeIndex(IndexInterface index) throws RemoteException, ServiceException
    Remove the index from the physical table.
    Parameters:
      `relationalKey` -
    Throws:
      `ServiceException` - - If a repository error occurs.
      `RemoteException` - - In the event of remote object failure.