Class AbstractHomeFolderProvider2

java.lang.Object
org.alfresco.repo.security.person.AbstractHomeFolderProvider2
All Implemented Interfaces:
HomeFolderProvider2, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.InitializingBean
Direct Known Subclasses:
BootstrapHomeFolderProvider, ExistingPathBasedHomeFolderProvider2, UsernameHomeFolderProvider

public abstract class AbstractHomeFolderProvider2 extends Object implements HomeFolderProvider2, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.InitializingBean
Abstract class that implements HomeFolderProvider2 which works with the PortableHomeFolderManager (which performs most of the work) to create home folders in custom locations.
Author:
Alan Davis
  • Constructor Details

    • AbstractHomeFolderProvider2

      public AbstractHomeFolderProvider2()
  • Method Details

    • afterPropertiesSet

      public void afterPropertiesSet() throws Exception
      Register with the homeFolderManagewr
      Specified by:
      afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
      Throws:
      Exception
    • getHomeFolderManager

      protected PortableHomeFolderManager getHomeFolderManager()
      Get the home folder manager.
    • setHomeFolderManager

      public void setHomeFolderManager(PortableHomeFolderManager homeFolderManager)
      Set the home folder manager.
      Parameters:
      homeFolderManager - PortableHomeFolderManager
    • getName

      public String getName()
      Get the provider name
      Specified by:
      getName in interface HomeFolderProvider2
    • setBeanName

      public void setBeanName(String name)
      The provider name is taken from the bean name
      Specified by:
      setBeanName in interface org.springframework.beans.factory.BeanNameAware
    • getRootPath

      public String getRootPath()
      Get the path of the root folder
      Specified by:
      getRootPath in interface HomeFolderProvider2
    • setRootPath

      public void setRootPath(String rootPath)
      Set the path of the root folder
    • getStoreUrl

      public String getStoreUrl()
      Description copied from interface: HomeFolderProvider2
      Get the URL String of the node store that will be used.
      Specified by:
      getStoreUrl in interface HomeFolderProvider2
    • setStoreUrl

      public void setStoreUrl(String storeUrl)
      Set the store URL.
    • setOnCreatePermissionsManager

      public void setOnCreatePermissionsManager(PermissionsManager onCreatePermissionsManager)
      Sets the PermissionsManager used on creating the home folder
    • getOnCreatePermissionsManager

      public PermissionsManager getOnCreatePermissionsManager()
      Description copied from interface: HomeFolderProvider2
      Gets the PermissionsManager used on creating the home folder
      Specified by:
      getOnCreatePermissionsManager in interface HomeFolderProvider2
    • setOnReferencePermissionsManager

      public void setOnReferencePermissionsManager(PermissionsManager onReferencePermissionsManager)
      Sets the PermissionsManager used on referencing the home folder
    • getOnReferencePermissionsManager

      public PermissionsManager getOnReferencePermissionsManager()
      Description copied from interface: HomeFolderProvider2
      Gets the PermissionsManager used on referencing the home folder
      Specified by:
      getOnReferencePermissionsManager in interface HomeFolderProvider2
    • setOwner

      public void setOwner(String owner)
      Set the authority to use as the owner of all home folder nodes.
    • getOwner

      public String getOwner()
      Description copied from interface: HomeFolderProvider2
      Set the authority to use as the owner of all home folder nodes. If null the ContentModel.PROP_USERNAME value of the person is used.
      Specified by:
      getOwner in interface HomeFolderProvider2
    • getHomeFolderPath

      public List<String> getHomeFolderPath(NodeRef person)
      Description copied from interface: HomeFolderProvider2
      Returns a preferred path (a list of folder names) for the home folder relative to the root path. If all users share the root, the returned value should be an empty List or null. When all users have their own folder under the root there should be just one element in the List. Multiple elements should be returned when a nested folder structure is preferred.
      Specified by:
      getHomeFolderPath in interface HomeFolderProvider2
      Parameters:
      person - NodeRef from which a property (normally the userName) is used as a hash key to create a nested directory structure.
      Returns:
      the path to be used.
    • getTemplateNodeRef

      public NodeRef getTemplateNodeRef()
      Description copied from interface: HomeFolderProvider2
      Returns a node to copy (a template) for the home folder. Only used by HomeFolderProviders that create home folders rather than just reference existing folders.
      Specified by:
      getTemplateNodeRef in interface HomeFolderProvider2
      Returns:
      the node to copy or null if not required.