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

Package com.sas.services.information.metadata.dav

# Class DAVFolder

java.lang.Object
com.sas.services.information.metadata.dav.DAVEntity
com.sas.services.information.metadata.dav.DAVFolder

All Implemented Interfaces:
  `AttributesInterface`, `DAVEntityInterface`, `DAVFolderInterface`, `Serializable`

Direct Known Subclasses:
  `DAVPackage`, `DAVPerson`, `DAVPersonalrepository`, `DAVProfile`, `DAVRemarks`

@SASScope("ALL") @BinaryCompatibilityOnly public class DAVFolder extends DAVEntity implements DAVFolderInterface
DAVFolder represents a collection in a DAV Store. DAVEntity provides the common functionality and DAVFolder only the folder specific characteristics.

Since:
  1.0
See Also:
  - Serialized Form

- ## Field Summary

  ### Fields inherited from class com.sas.services.information.metadata.dav.DAVEntity

  `_acl, _descAttribute, _fullUrl, _name, _nameAttribute, _objectClass, _properties, _repos, _reposId, _resource, _schemaProperties, aclList, content, hasBeenFetched, LOCAL, UNSET`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DAVFolder(RepositoryData entity)`
  Creates a new DAVFolder from the information in the entity
  `DAVFolder(RepositoryInterface repos, String reposId)`
  Creates a new DAVFolder for the entity with a repository id `reposId` in the repository `repos`
  `DAVFolder(String url, Map properties)`
  Creates a new DAVFolder from the url and a property map

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addEntity(DAVEntityInterface anItem)`
  Add an entity to a folder
  `DAVFolderInterface`
  `createFolder(String name)`
  Create a folder (always relative to some folder
  `DAVFolderInterface`
  `createFolder(String name, String contentClass)`
  Create a folder (always relative to some folder
  `DAVItemInterface`
  `createItem(String name)`
  Create an item (always relative to some folder
  `DAVItemInterface`
  `createItem(String name, String contentClass)`
  Create an item (always relative to some folder)
  `Collection`
  `getEntities()`
  Get a list of the entites in this folder
  `DAVEntityInterface`
  `getItem(String name)`
  Get an item in a folder by name
  `Map`
  `getItems()`
  Get the internal list of items.
  `void`
  `refresh()`
  Refresh this entity.
  `void`
  `refresh(DAVFolderInterface entity)`
  Refresh this entity from the parameter.
  `protected void`
  `setItems(Map items)`
  Set the internal list of items.

  ### Methods inherited from class com.sas.services.information.metadata.dav.DAVEntity

  `addAccessControlEntry, addAttribute, addAttributes, addUpdateMultiple, addUpdateSingle, clearLocalLists, commitUpdates, copy, delete, deleteAttribute, deleteAttributes, fetchEntity, getAccessControlList, getACL, getAttribute, getAttributes, getCreateDate, getDAVResource, getDescription, getFolder, getGUID, getModifyDate, getName, getObjectClass, getProperties, getRemarksKeys, getRemoveUpdates, getReposId, getRepository, getSetUpdates, getType, getUpdateableACL, getUrl, getURL, isCollection, isDeleted, isUpdatePending, move, refresh, removeAccessControlEntry, setAccessControls, setACL, setAttribute, setAttributes, setContentClass, setDeleted, setDescription, setGUID, setName, setRemarksKeys, setReposId, setRepository, toString, update`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface com.sas.services.information.metadata.dav.AttributesInterface

  `addAttribute, addAttributes, deleteAttribute, deleteAttributes, getAttribute, getAttributes, setAttribute, setAttributes`

  ### Methods inherited from interface com.sas.services.information.metadata.dav.DAVEntityInterface

  `addAccessControlEntry, copy, delete, getAccessControlList, getACL, getCreateDate, getDAVResource, getDescription, getFolder, getGUID, getModifyDate, getName, getProperties, getRemarksKeys, getRemoveUpdates, getReposId, getRepository, getSetUpdates, getType, getUpdateableACL, getUrl, getURL, isCollection, isDeleted, isUpdatePending, move, refresh, removeAccessControlEntry, setACL, setContentClass, setDeleted, setDescription, setGUID, setName, setRemarksKeys, setReposId, update`

- ## Constructor Details

  - ### DAVFolder

    public DAVFolder(RepositoryInterface repos, String reposId)
    Creates a new DAVFolder for the entity with a repository id `reposId` in the repository `repos`

  - ### DAVFolder

    public DAVFolder(String url, Map properties)
    Creates a new DAVFolder from the url and a property map

  - ### DAVFolder

    public DAVFolder(RepositoryData entity)
    Creates a new DAVFolder from the information in the entity

- ## Method Details

  - ### getItem

    public DAVEntityInterface getItem(String name)
    Get an item in a folder by name
    Specified by:
      `getItem` in interface `DAVFolderInterface`
    Parameters:
      `name` - The name of the item to be retrieved
    Returns:
      DAVEntityInterface The item to be returned

  - ### addEntity

    public void addEntity(DAVEntityInterface anItem) throws ServiceException, RemoteException
    Add an entity to a folder
    Specified by:
      `addEntity` in interface `DAVFolderInterface`
    Parameters:
      `anItem` - The item to be added to the folder
    Throws:
      `ServiceException`
      `RemoteException`

  - ### createItem

    public DAVItemInterface createItem(String name, String contentClass) throws ServiceException, RemoteException
    Create an item (always relative to some folder)
    Specified by:
      `createItem` in interface `DAVFolderInterface`
    Parameters:
      `name` - The name of the new item
      `contentClass` - The type of item to create
    Returns:
      DAVItemInterface The newly created item within the folder
    Throws:
      `ServiceException`
      `RemoteException`

  - ### createItem

    public DAVItemInterface createItem(String name) throws ServiceException, RemoteException
    Create an item (always relative to some folder
    Specified by:
      `createItem` in interface `DAVFolderInterface`
    Parameters:
      `name` - The name of the new item
    Returns:
      DAVItemInterface The newly created item within the folder
    Throws:
      `ServiceException`
      `RemoteException`

  - ### createFolder

    public DAVFolderInterface createFolder(String name) throws ServiceException, RemoteException
    Create a folder (always relative to some folder
    Specified by:
      `createFolder` in interface `DAVFolderInterface`
    Parameters:
      `name` - The name of the new folder
    Returns:
      DAVItemInterface The newly created folder within the folder
    Throws:
      `ServiceException` - If a server error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### createFolder

    public DAVFolderInterface createFolder(String name, String contentClass) throws ServiceException, RemoteException
    Create a folder (always relative to some folder
    Specified by:
      `createFolder` in interface `DAVFolderInterface`
    Parameters:
      `name` - The name of the new folder
      `contentClass` - The type of folder to create
    Returns:
      DAVItemInterface The newly created folder within the folder
    Throws:
      `ServiceException` - If a server error occurs.
      `RemoteException` - In the event of remote object failure.

  - ### refresh

    public void refresh()
    Refresh this entity. This means getting a fresh copy from the repository
    Specified by:
      `refresh` in interface `DAVEntityInterface`
    Overrides:
      `refresh` in class `DAVEntity`

  - ### refresh

    public void refresh(DAVFolderInterface entity)
    Refresh this entity from the parameter.
    Specified by:
      `refresh` in interface `DAVFolderInterface`
    Parameters:
      `entity` - A DAVEntity from which to obtain the latest properties

  - ### getEntities

    public Collection getEntities()
    Get a list of the entites in this folder
    Specified by:
      `getEntities` in interface `DAVFolderInterface`
    Returns:
      Collection (of DAVEntityInterface) The items in the folder

  - ### getItems

    public Map getItems()
    Get the internal list of items.
    Specified by:
      `getItems` in interface `DAVFolderInterface`
    Returns:
      Map (names to DAVEntityInterface) Items in the folder

  - ### setItems

    protected void setItems(Map items)
    Set the internal list of items.
    Parameters:
      `items` - The internal list of items for the folder