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

Package com.sas.services.information.metadata

# Interface PersonalRepositoryInterface

All Superinterfaces:
  `FolderInterface`, `MetadataInterface`, `MutableContainerInterface`, `PublicObjectContainerInterface`, `PublicObjectInterface`, `Remote`

All Known Implementing Classes:
  `PersonalRepository`

@SASScope("ALL") @BinaryCompatibilityOnly public interface PersonalRepositoryInterface extends FolderInterface, Remote

- ## Field Summary

  ### Fields inherited from interface com.sas.services.information.metadata.FolderInterface

  `FOLDER_TYPE_BIP`

  ### 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
  `FolderInterface`
  `getApplicationManager(int applId)`
  Each folder in the personal repository is managed by an application manager.
  `FolderInterface`
  `getApplicationManager(String appplname)`
  Each folder in the personal repository is managed by an application manager.
  `List`
  `getSupportedApplications()`
  Return a list of the currently supported applications.
  `boolean`
  `registerApplication(String applname, String FolderManagerClassName)`
  Register an application.

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

  `addItem, addNewItem, addSubfolder, deleteItem, deleteSubfolder, getContentCreateDate, getContentInfo, getContentModifyDate, getFolderType, getItem, getItemByClass, getItemByType, getItems, getItemsByClass, getItemsByType, getItemSublist, getItemSublist, getParent, getPath, getPublicTypeItem, getSubfolder, getSubfolders, getTotalNumberOfItems, hasDuplicate, hasDuplicateSubfolder, isEmpty, isItemNameUnique, makeSubfolder, makeSubfolder, moveMembersOnOverflow, removeItem, removeSubfolder, setContentCreateDate, setContentModifyDate, setFolderType`

  ### 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, 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.MutableContainerInterface

  `addChild, insertChild, removeChild`

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

  `getChildAt, getChildCount, getChildren, getChildren, newChild`

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

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

- ## Method Details

  - ### registerApplication

    boolean registerApplication(String applname, String FolderManagerClassName) throws RemoteException
    Register an application. To register an application pass an application name and a class name that implements the FolderManagerInterface for this application.
    Parameters:
      `applname` - A string that represents the application's name.
      `FolderManagerClassName` - A string class name. The class provides the implementation for this application and will be loaded on demand.
    Returns:
      boolean true if the registration was successful, false otherwise
    Throws:
      `RemoteException` - in the event of remote object failure.

  - ### getSupportedApplications

    List getSupportedApplications() throws RemoteException
    Return a list of the currently supported applications. The list contains the names of the applications.
    Returns:
      List A list of application names that are currently registered
    Throws:
      `RemoteException` - in the event of remote object failure.

  - ### getApplicationManager

    FolderInterface getApplicationManager(int applId) throws ServiceException, RemoteException
    Each folder in the personal repository is managed by an application manager. The application manager class is registered using the `registerApplication` method. This method can be passed one of the predefined application identifiers, such as `getApplicationManager( PersonalRepository. INBOX )`
    Parameters:
      `applId` - The application identifier of the desired appication manager.
    Returns:
      The folder managed by the requested application manager.
    Throws:
      `ServiceException` - If a service level error occurs.
      `RemoteException` - in the event of remote object failure.

  - ### getApplicationManager

    FolderInterface getApplicationManager(String appplname) throws ServiceException, RemoteException
    Each folder in the personal repository is managed by an application manager. The application manager class is registered using the `registerApplication` method.
    Parameters:
      `appplname` - The name of the application managing the desired folder.
    Returns:
      The folder for the requested application.
    Throws:
      `ServiceException` - if a service level error occurs.
      `RemoteException` - in the event of remote object failure.