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

Package com.sas.services.information.metadata

# Interface ColumnHierarchyInterface

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

@SASScope("ALL") @BinaryCompatibilityOnly public interface ColumnHierarchyInterface 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`
  `addColumn(ColumnInterface column)`
  Add a column to this hierarchy.
  `void`
  `addColumnAt(ColumnInterface column, int index)`
  Inserts the column at the specified position in this List.
  `boolean`
  `containsColumns()`
  Does this hierarchy contain columns?
  `List<ColumnInterface>`
  `getColumns()`
  Get the list of columns in this hierarchy.
  `void`
  `removeColumn(int pos)`
  Removes single column from this hierarchy.
  `void`
  `removeColumn(ColumnInterface column)`
  Remove a column from this hierarchy.

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

  - ### getColumns

    List<ColumnInterface> getColumns() throws ServiceException, RemoteException
    Get the list of columns in this hierarchy.
    Returns:
      The List of `ColumnInterface` objects associated with this hierarchy.
    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 hierarchy.
    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 hierarchy.
      `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 hierarchy.
    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 this hierarchy.
    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.

  - ### containsColumns

    boolean containsColumns() throws ServiceException, RemoteException
    Does this hierarchy contain columns? This check is done without security.
    Returns:
      True if there are no columns associated with this hierarchy.
    Throws:
      `ServiceException`
      `RemoteException`