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

Package com.sas.services.information.metadata

# Interface ColumnInterface

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

@SASScope("ALL") @BinaryCompatibilityOnly public interface ColumnInterface extends MetadataInterface

- ## 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`
  `addQueryClause(QueryClauseInterface clause)`
  Add a query to this column.
  `ColumnAttributes`
  `getColumnAttributes()`
  Get the column attributes in a `ColumnAttributes` objects.
  `List<IndexInterface>`
  `getOwningIndexes()`
  Gets the Owning Indexes of a column.
  `List<RelationalKeyInterface>`
  `getOwningKeys()`
  Gets the Owning Keys of a column.
  `List`
  `getQueryClauses()`
  Get the list of `QueryClauseInterface` objects associated with this column.
  `DataTableInterface`
  `getTable()`
  Get the `DataTableInterface` this column belongs to.
  `boolean`
  `isPartOfAnyIndex()`
  checks if column is part of any index
  `boolean`
  `isPartOfAnyKey()`
  checks if column is part of any key
  `void`
  `removeQueryClause(QueryClauseInterface clause)`
  Remove a Query from this column.
  `void`
  `setColumnAttributes(ColumnAttributes attributes)`
  Set the attributes of this column using a `ColumnAttributes` object.
  `void`
  `setTable(DataTableInterface table)`
  Set the `DataTableInterface` this column belongs to.

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

  - ### getColumnAttributes

    ColumnAttributes getColumnAttributes() throws ServiceException, RemoteException
    Get the column attributes in a `ColumnAttributes` objects.
    Returns:
      A ColumnAttributes object with the attributes of this column.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### setColumnAttributes

    void setColumnAttributes(ColumnAttributes attributes) throws ServiceException, RemoteException
    Set the attributes of this column using a `ColumnAttributes` object. All the elements of the ColumnAttributes object will be used. The most common usage pattern is to call `getColumnAttributes()`, then set the new values, and call this method.
    Parameters:
      `attributes` - The new attributes of this column.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### getQueryClauses

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

  - ### addQueryClause

    void addQueryClause(QueryClauseInterface clause) throws ServiceException, RemoteException
    Add a query to this column.
    Parameters:
      `clause` - The `QueryClauseInterface` to add.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### removeQueryClause

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

  - ### getTable

    DataTableInterface getTable() throws ServiceException, RemoteException
    Get the `DataTableInterface` this column belongs to.
    Returns:
      The `DataTableInterface` this column belongs to.
    Throws:
      `ServiceException` - If a repository error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### setTable

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

  - ### getOwningIndexes

    List<IndexInterface> getOwningIndexes() throws ServiceException, RemoteException
    Gets the Owning Indexes of a column.
    Returns:
    Throws:
      `ServiceException` - - If a repository error occurs.
      `RemoteException` - - In the event of remote object failure.

  - ### getOwningKeys

    List<RelationalKeyInterface> getOwningKeys() throws ServiceException, RemoteException
    Gets the Owning Keys of a column.
    Returns:
    Throws:
      `ServiceException` - - If a repository error occurs.
      `RemoteException` - - In the event of remote object failure.

  - ### isPartOfAnyIndex

    boolean isPartOfAnyIndex() throws ServiceException, RemoteException
    checks if column is part of any index
    Returns:
      true if column is part of any index else returns false
    Throws:
      `ServiceException` - - If a repository error occurs.
      `RemoteException` - - In the event of remote object failure.

  - ### isPartOfAnyKey

    boolean isPartOfAnyKey() throws ServiceException, RemoteException
    checks if column is part of any key
    Returns:
      true if column is part of any key else returns false
    Throws:
      `ServiceException` - - If a repository error occurs.
      `RemoteException` - - In the event of remote object failure.