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

Package com.sas.services.publish.metadata

# Interface ArchiveInterface

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

@SASScope("ALL") @BinaryCompatibilityOnly public interface ArchiveInterface extends PackageInterface
This is a generic interface to represent a published SAS package persisted to a file system.

- ## 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`
  `setAbstract(String text)`
  Set the archive abstract.
  `void`
  `setChannel(ChannelInterface channel)`
  Set the Channel that this Archive belongs to.
  `void`
  `setCreationDate(long date)`
  Set the creation date for an archive.
  `void`
  `setDescription(String text)`
  Set the Archive description.
  `void`
  `setDirectory(DirectoryInterface directory)`
  Set the directory this archive exists in.
  `void`
  `setExpirationDate(long date)`
  Set the expiration date for an archive.
  `void`
  `setProperties(AttributeMapInterface map)`
  Set the name/value pairs on the Archive.
  `void`
  `setPublisher(PersonInterface publisher)`
  Set the identity of the person who performed the publish.

  ### 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, 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.publish.metadata.PackageInterface

  `getAbstract, getChannel, getContentDestination, getCreationDate, getCreationDateString, getDisplayDescription, getDisplayName, getExpirationDate, getExpirationDateString, getProperties, getPublisher, getPublisherAlias, isExpired`

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

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

- ## Method Details

  - ### setChannel

    void setChannel(ChannelInterface channel) throws ServiceException, RemoteException
    Set the Channel that this Archive belongs to. This can only be done once. If the Channel has already been set, this method will throw an IllegalStateException.
    Parameters:
      `channel` - The Channel that owns this archive.
    Throws:
      `ServiceException` - If a repository or service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### setAbstract

    void setAbstract(String text) throws ServiceException, RemoteException
    Set the archive abstract. This is a longer description of the contents of the archive.
    Parameters:
      `text` - The new archive abstract text.
    Throws:
      `ServiceException` - If a repository or service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### setDescription

    void setDescription(String text) throws RemoteException
    Set the Archive description.
    Specified by:
      `setDescription` in interface `MetadataInterface`
    Parameters:
      `text` - The object description.
    Throws:
      `RemoteException` - if an error occurs

  - ### setProperties

    void setProperties(AttributeMapInterface map) throws ServiceException, RemoteException
    Set the name/value pairs on the Archive.
    Parameters:
      `map` - The map of attributes to set on this Archive.
    Throws:
      `ServiceException` - If a repository or service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### setCreationDate

    void setCreationDate(long date) throws ServiceException, RemoteException
    Set the creation date for an archive.

    Parameters:
      `date` - A long representing the creation date/time of the archive file.
    Throws:
      `ServiceException` - If a repository or service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### setExpirationDate

    void setExpirationDate(long date) throws ServiceException, RemoteException
    Set the expiration date for an archive.

    Parameters:
      `date` - A long representing the expiration date/time of the archive file.
    Throws:
      `ServiceException` - If a repository or service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### setDirectory

    void setDirectory(DirectoryInterface directory) throws ServiceException, RemoteException
    Set the directory this archive exists in.

    Parameters:
      `directory` - A Directory object this archive is contained in.
    Throws:
      `ServiceException` - If a repository or service level error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### setPublisher

    void setPublisher(PersonInterface publisher) throws ServiceException, RemoteException
    Set the identity of the person who performed the publish.

    Parameters:
      `publisher` - The person who published the archive.
    Throws:
      `ServiceException` - If a repository or service level error occurs.
      `RemoteException` - In the event of remote object failure.