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

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

# Class DAVFactory

java.lang.Object
com.sas.services.information.metadata.dav.DAVFactory

@SASScope("ALL") @BinaryCompatibilityOnly public class DAVFactory extends Object
DAVFactory manufactures objects from the com.sas.services.information.metadata.dav package. Given an objectType the factory constructs the class name and then calls the class constructor with the correct parameters.

Since:
  1.0

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DAVFactory()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static Object`
  `narrow(RepositoryData entity)`
  Given an entity, work out the correct class name and then create an instance of that class to return.
  `static DAVEntityInterface`
  `newDAVEntity(String objectType, String reposId, RepositoryInterface repos)`
  Create an instance of a sublass of DAVEntity.

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

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

- ## Constructor Details

  - ### DAVFactory

    public DAVFactory()

- ## Method Details

  - ### newDAVEntity

    public static DAVEntityInterface newDAVEntity(String objectType, String reposId, RepositoryInterface repos)
    Create an instance of a sublass of DAVEntity. The value of the className is used to construct the name of the class to instantiate.

    Parameters:
      `objectType` - Object's type
      `reposId` - The location of where the instance will be located in the repository
      `repos` - The repository in which this instance is to be created
    Returns:
      DAVEntity An instance of a subclass of DAVEntity is returned

  - ### narrow

    public static Object narrow(RepositoryData entity)
    Given an entity, work out the correct class name and then create an instance of that class to return. In this case, the class will always be a subclass of com.sas.services.information.metadata.dav.DAVEntity.

    The first step is to check the value of the resourcetype property. This gives us the basis for the class name.

    Parameters:
      `entity` - An entity (collection of properties).
    Returns:
      Object The instance of a class determined from the values of the entities' properties