org.alfresco.repo.security.person
Class AbstractHomeFolderProvider2

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

public abstract class AbstractHomeFolderProvider2
extends java.lang.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.


Constructor Summary
AbstractHomeFolderProvider2()
           
 
Method Summary
 void afterPropertiesSet()
          Register with the homeFolderManagewr
protected  PortableHomeFolderManager getHomeFolderManager()
          Get the home folder manager.
 java.util.List getHomeFolderPath(org.alfresco.service.cmr.repository.NodeRef person)
          Returns a preferred path (a list of folder names) for the home folder relative to the root path.
 java.lang.String getName()
          Get the provider name
 PermissionsManager getOnCreatePermissionsManager()
          Gets the PermissionsManager used on creating the home folder
 PermissionsManager getOnReferencePermissionsManager()
          Gets the PermissionsManager used on referencing the home folder
 java.lang.String getOwner()
          Set the authority to use as the owner of all home folder nodes.
 java.lang.String getRootPath()
          Get the path of the root folder
 java.lang.String getStoreUrl()
          Get the URL String of the node store that will be used.
 org.alfresco.service.cmr.repository.NodeRef getTemplateNodeRef()
          Returns a node to copy (a template) for the home folder.
 void setBeanName(java.lang.String name)
          The provider name is taken from the bean name
 void setHomeFolderManager(PortableHomeFolderManager homeFolderManager)
          Set the home folder manager.
 void setOnCreatePermissionsManager(PermissionsManager onCreatePermissionsManager)
          Sets the PermissionsManager used on creating the home folder
 void setOnReferencePermissionsManager(PermissionsManager onReferencePermissionsManager)
          Sets the PermissionsManager used on referencing the home folder
 void setOwner(java.lang.String owner)
          Set the authority to use as the owner of all home folder nodes.
 void setRootPath(java.lang.String rootPath)
          Set the path of the root folder
 void setStoreUrl(java.lang.String storeUrl)
          Set the store URL.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.alfresco.repo.security.person.HomeFolderProvider2
getHomeFolder
 

Constructor Detail

AbstractHomeFolderProvider2

public AbstractHomeFolderProvider2()
Method Detail

afterPropertiesSet

public void afterPropertiesSet()
                        throws java.lang.Exception
Register with the homeFolderManagewr

Specified by:
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
Throws:
java.lang.Exception

getHomeFolderManager

protected PortableHomeFolderManager getHomeFolderManager()
Get the home folder manager.


setHomeFolderManager

public void setHomeFolderManager(PortableHomeFolderManager homeFolderManager)
Set the home folder manager.

Parameters:
homeFolderManager -

getName

public java.lang.String getName()
Get the provider name

Specified by:
getName in interface HomeFolderProvider2

setBeanName

public void setBeanName(java.lang.String name)
The provider name is taken from the bean name

Specified by:
setBeanName in interface org.springframework.beans.factory.BeanNameAware

getRootPath

public java.lang.String getRootPath()
Get the path of the root folder

Specified by:
getRootPath in interface HomeFolderProvider2

setRootPath

public void setRootPath(java.lang.String rootPath)
Set the path of the root folder


getStoreUrl

public java.lang.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(java.lang.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(java.lang.String owner)
Set the authority to use as the owner of all home folder nodes.


getOwner

public java.lang.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 java.util.List getHomeFolderPath(org.alfresco.service.cmr.repository.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 org.alfresco.service.cmr.repository.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.


Copyright © 2005 - 2010 Alfresco Software, Inc. All Rights Reserved.