Package com.sas.services.information.metadata

# Interface IndexInterface

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

public interface IndexInterface extends ColumnContainerInterface
Represents Index associated with Physical Table.

- ## 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`
  `convertToCompositeIndex(String name, List<ColumnInterface> columns)`
  Convert simple index (contains only 1 column) to composite index (contains more than 1 column)
  `IndexInterface`
  `convertToSimpleIndex(ColumnInterface column)`
  Convert composite index (contains more than 1 column) to simple index (contains only 1 column)
  `Set<IndexAttribute>`
  `getIndexAttributes()`
  Gets the attributes of an Index
  `boolean`
  `isAssociatedWithKey()`
  Checks whether index is associated with a Unique/Primary key.
  `boolean`
  `isSimpleIndex()`
  Checks for the Simple Index
  `void`
  `setIndexAttributes(Set<IndexAttribute> setIndexAttribute)`
  Sets the attributes of an Index

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

  `addColumn, addColumnAt, addColumns, getColumns, getOwningTable, removeColumn, removeColumn, removeColumns`

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

  - ### setIndexAttributes

    void setIndexAttributes(Set<IndexAttribute> setIndexAttribute) throws ServiceException, RemoteException
    Sets the attributes of an Index
    Parameters:
      `setIndexAttribute` -
    Throws:
      `ServiceException` - If there's a repository error.
      `RemoteException` - in the event of remote object failure.

  - ### getIndexAttributes

    Set<IndexAttribute> getIndexAttributes() throws ServiceException, RemoteException
    Gets the attributes of an Index
    Returns:
      Set
    Throws:
      `ServiceException` - If there's a repository error.
      `RemoteException` - in the event of remote object failure.

  - ### convertToSimpleIndex

    IndexInterface convertToSimpleIndex(ColumnInterface column) throws ServiceException, RemoteException
    Convert composite index (contains more than 1 column) to simple index (contains only 1 column)
    Parameters:
      `column` -
    Returns:
    Throws:
      `ServiceException` - If there's a repository error.
      `RemoteException` - in the event of remote object failure.

  - ### convertToCompositeIndex

    IndexInterface convertToCompositeIndex(String name, List<ColumnInterface> columns) throws ServiceException, RemoteException
    Convert simple index (contains only 1 column) to composite index (contains more than 1 column)
    Parameters:
      `name` -
      `columns` -
    Returns:
    Throws:
      `ServiceException` - If there's a repository error.
      `RemoteException` - in the event of remote object failure.

  - ### isSimpleIndex

    boolean isSimpleIndex() throws ServiceException, RemoteException
    Checks for the Simple Index
    Returns:
      true if index is Simple Index
    Throws:
      `ServiceException` - If there's a repository error.
      `RemoteException` - in the event of remote object failure.

  - ### isAssociatedWithKey

    boolean isAssociatedWithKey() throws ServiceException, RemoteException
    Checks whether index is associated with a Unique/Primary key.
    Returns:
      true if index is associated with Unique/Primary key.
    Throws:
      `ServiceException` - If there's a repository error.
      `RemoteException` - in the event of remote object failure.