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

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

# Interface DAVEntityInterface

All Superinterfaces:
  `AttributesInterface`

All Known Subinterfaces:
  `DAVFolderInterface`, `DAVItemInterface`

All Known Implementing Classes:
  `DAVApplitem`, `DAVBinarypackage`, `DAVEntity`, `DAVEvent`, `DAVFolder`, `DAVItem`, `DAVPackage`, `DAVPackageevent`, `DAVPerson`, `DAVPersonalrepository`, `DAVProfile`, `DAVRemarks`, `DAVStoredprocessalert`

@SASScope("ALL") @BinaryCompatibilityOnly public interface DAVEntityInterface extends AttributesInterface

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addAccessControlEntry(AccessControlEntryInterface ace)`
  Add an access control entry to the ACL
  `DAVEntityInterface`
  `copy(DAVFolderInterface folder)`
  Copy the entity to another folder
  `void`
  `delete()`
  Delete the entity
  `List`
  `getAccessControlList()`
  `String`
  `getACL()`
  Get the ACL for this entity
  `String`
  `getCreateDate()`
  Returns the creation date, if it exists, `null` otherwise
  `DAVResource`
  `getDAVResource()`
  Return the underlying DAVResource for this entity, if it exists (that is if it has been fetched)
  `String`
  `getDescription()`
  Return the entity's description property
  `DAVFolderInterface`
  `getFolder()`
  Get the folder that contains this entity
  `String`
  `getGUID()`
  Return the GUID for this entity, if one has been set.
  `String`
  `getModifyDate()`
  Returns the last modified date, if it exists, `null` otherwise
  `String`
  `getName()`
  Get the name of this entity
  `Map`
  `getProperties()`
  Get properties/attributes for this entity
  `String[]`
  `getRemarksKeys()`
  Get a list of entity keys for the remarks or dicussion threads relating to this object.
  `Map`
  `getRemoveUpdates()`
  If there are any updates to remove properties, then return this list
  `String`
  `getReposId()`
  Get the repository identifier for this entity.
  `RepositoryInterface`
  `getRepository()`
  Get the repository associated with this entity
  `Map`
  `getSetUpdates()`
  If there are any updates to set property values, then return this list
  `String`
  `getType()`
  Get the entity's object type.
  `String`
  `getUpdateableACL()`
  `String`
  `getUrl()`
  Get the url for this entity
  `String`
  `getURL()`
  Return the full url as represented in a repository for this entity
  `boolean`
  `isCollection()`
  Is this a collection?
  `boolean`
  `isDeleted()`
  Has this entity been deleted?
  `boolean`
  `isUpdatePending()`
  Returns whether there are any updates pending for the repository entity
  `DAVEntityInterface`
  `move(DAVFolderInterface folder)`
  Move the entity to another folder
  `void`
  `refresh()`
  Refresh this entity.
  `void`
  `refresh(DAVEntityInterface entity)`
  Refresh this entity from the parameter.
  `void`
  `removeAccessControlEntry(AccessControlEntryInterface ace)`
  Remove an access control entry from the ACL
  `void`
  `setACL(String acl)`
  Set the ACL for this entity
  `void`
  `setContentClass(String contentClass)`
  Set the contentClass for a paricular resource.
  `void`
  `setDeleted()`
  Mark the entity as having been deleted.
  `void`
  `setDescription(String desc)`
  Set the entity's description property
  `void`
  `setGUID(String guid)`
  Set the GUID on this entity.
  `void`
  `setName(String name)`
  Set the name attribute
  `void`
  `setRemarksKeys(String[] remarksKeys)`
  Set the remarks or discussion threads relating to this object
  `void`
  `setReposId(String reposId)`
  Set the repository identifier for this entity.
  `void`
  `update()`
  Persist any changes to the metadata back to the backing store.

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

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

- ## Method Details

  - ### delete

    void delete() throws ServiceException, RemoteException
    Delete the entity
    Throws:
      `ServiceException`
      `RemoteException`

  - ### copy

    DAVEntityInterface copy(DAVFolderInterface folder)
    Copy the entity to another folder

  - ### move

    DAVEntityInterface move(DAVFolderInterface folder)
    Move the entity to another folder

  - ### getUrl

    String getUrl()
    Get the url for this entity
    Returns:
      String Returns the Url for this resource

  - ### getReposId

    String getReposId()
    Get the repository identifier for this entity. If the repository has not been set, then use the fullurl as an identifier.

    Returns:
      String Entity's repository identifier

  - ### getFolder

    DAVFolderInterface getFolder()
    Get the folder that contains this entity
    Returns:
      DAVFolderInterface

  - ### getName

    String getName()
    Get the name of this entity
    Returns:
      String Returns the name of the item/folder

  - ### isCollection

    boolean isCollection()
    Is this a collection?
    Returns:
      boolean Is this resource a collection or not.

  - ### getCreateDate

    String getCreateDate()
    Returns the creation date, if it exists, `null` otherwise
    Returns:
      String The creation date

  - ### getModifyDate

    String getModifyDate()
    Returns the last modified date, if it exists, `null` otherwise
    Returns:
      String The last modified date

  - ### getRemarksKeys

    String[] getRemarksKeys()
    Get a list of entity keys for the remarks or dicussion threads relating to this object.
    Returns:
      String[] An array of entity keys

  - ### setRemarksKeys

    void setRemarksKeys(String[] remarksKeys)
    Set the remarks or discussion threads relating to this object
    Parameters:
      `remarksKeys` - An array of entity keys for the remarks relating to this object.

  - ### setACL

    void setACL(String acl)
    Set the ACL for this entity
    Parameters:
      `acl` - An XML element string that defines the WebDAV ACL for this resource

  - ### getACL

    String getACL()
    Get the ACL for this entity
    Returns:
      String The ACL element that describes the WebDAV ACL for this resource

  - ### getAccessControlList

    List getAccessControlList()

  - ### refresh

    void refresh()
    Refresh this entity. This means getting a fresh copy from the repository

  - ### update

    void update() throws ServiceException, RemoteException
    Persist any changes to the metadata back to the backing store. Build an update list by checking the states of the local variables. Then commit any changes to the store, and get rid of the change list.
    Throws:
      `ServiceException` - in the case of a services failure
      `RemoteException` - in the case of network failures

  - ### getType

    String getType()
    Get the entity's object type.
    Returns:
      String Entity's object type

  - ### setReposId

    void setReposId(String reposId)
    Set the repository identifier for this entity.
    Parameters:
      `reposId` - Repository identifier for this entity

  - ### getSetUpdates

    Map getSetUpdates()
    If there are any updates to set property values, then return this list
    Returns:
      Map (of properties to property values) Properties to be set

  - ### getRemoveUpdates

    Map getRemoveUpdates()
    If there are any updates to remove properties, then return this list
    Returns:
      Map (of properties to null) Properties to be removed

  - ### getURL

    String getURL()
    Return the full url as represented in a repository for this entity
    Returns:
      String The url of the entity

  - ### getUpdateableACL

    String getUpdateableACL()

  - ### getDAVResource

    DAVResource getDAVResource()
    Return the underlying DAVResource for this entity, if it exists (that is if it has been fetched)

  - ### setContentClass

    void setContentClass(String contentClass)
    Set the contentClass for a paricular resource. This will only work once (preferably at object creation time). After that, the contentClass cannot be changed.
    Parameters:
      `contentClass` - The content class to set for this entity

  - ### getProperties

    Map getProperties()
    Get properties/attributes for this entity
    Returns:
      Map (of properties to values) Entity's properties

  - ### refresh

    void refresh(DAVEntityInterface entity)
    Refresh this entity from the parameter. Reset any pending updates as these don't apply any longer.
    Parameters:
      `entity` - A DAVEntity from which to obtain the latest properties

  - ### setName

    void setName(String name)
    Set the name attribute
    Parameters:
      `name` - Value for the name attribute

  - ### getDescription

    String getDescription()
    Return the entity's description property
    Returns:
      String The description for the entity

  - ### setDescription

    void setDescription(String desc)
    Set the entity's description property
    Parameters:
      `desc` - The value for the description property of the entity

  - ### getRepository

    RepositoryInterface getRepository()
    Get the repository associated with this entity
    Returns:
      RepositoryInterface The repository associated with this entity

  - ### isDeleted

    boolean isDeleted()
    Has this entity been deleted?
    Returns:
      boolean Whether entity has been deleted or not

  - ### setDeleted

    void setDeleted()
    Mark the entity as having been deleted.

  - ### addAccessControlEntry

    void addAccessControlEntry(AccessControlEntryInterface ace)
    Add an access control entry to the ACL
    Parameters:
      `ace` - Access control entry to be added to the ACL

  - ### removeAccessControlEntry

    void removeAccessControlEntry(AccessControlEntryInterface ace)
    Remove an access control entry from the ACL
    Parameters:
      `ace` - Access control entry to be removed from the ACL

  - ### isUpdatePending

    boolean isUpdatePending()
    Returns whether there are any updates pending for the repository entity
    Returns:
      boolean True if there are outstanding updates, false otherwise

  - ### setGUID

    void setGUID(String guid)
    Set the GUID on this entity.
    Parameters:
      `guid` - The GUID to be set on this entity

  - ### getGUID

    String getGUID()
    Return the GUID for this entity, if one has been set.
    Returns:
      String The GUID for this entity