org.alfresco.filesys.repo
Class ContentQuotaManager

java.lang.Object
  extended by org.alfresco.filesys.repo.ContentQuotaManager
All Implemented Interfaces:
java.lang.Runnable, org.alfresco.jlan.server.filesys.quota.QuotaManager

public class ContentQuotaManager
extends java.lang.Object
implements org.alfresco.jlan.server.filesys.quota.QuotaManager, java.lang.Runnable

Content Quota Manager Class

Implementation of JLAN QuotaManager interface for the Alfresco repository.

Keeps an in memory quota for each active user. After a configurable length of time quotas are removed from memory.


Constructor Summary
ContentQuotaManager()
           
 
Method Summary
 long allocateSpace(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, org.alfresco.jlan.server.filesys.NetworkFile file, long alloc)
          Allocate space on the filesystem.
 long getAvailableFreeSpace()
          Return the free space available in bytes
 ContentService getContentService()
           
 ContentUsageService getUsageService()
          Get the usage service
 long getUserFreeSpace(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree)
          Return the free space available to the specified user/session
 void init()
           
 void releaseSpace(org.alfresco.jlan.server.SrvSession sess, org.alfresco.jlan.server.filesys.TreeConnection tree, int fid, java.lang.String path, long alloc)
          Release space to the free space for the filesystem.
 void run()
          Inactivity checker, run in a seperate thread
 void setContentService(ContentService contentService)
           
 void setUsageService(ContentUsageService usageService)
          Set the usage service
 void startManager(org.alfresco.jlan.server.filesys.DiskInterface disk, org.alfresco.jlan.server.filesys.DiskDeviceContext ctx)
          Start the quota manager.
 void stopManager(org.alfresco.jlan.server.filesys.DiskInterface disk, org.alfresco.jlan.server.filesys.DiskDeviceContext ctx)
          Stop the quota manager
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ContentQuotaManager

public ContentQuotaManager()
Method Detail

init

public void init()

getUsageService

public final ContentUsageService getUsageService()
Get the usage service

Returns:
ContentUsageService

setUsageService

public final void setUsageService(ContentUsageService usageService)
Set the usage service

Parameters:
usageService - ContentUsageService

getAvailableFreeSpace

public long getAvailableFreeSpace()
Return the free space available in bytes

Specified by:
getAvailableFreeSpace in interface org.alfresco.jlan.server.filesys.quota.QuotaManager
Returns:
long

getUserFreeSpace

public long getUserFreeSpace(org.alfresco.jlan.server.SrvSession sess,
                             org.alfresco.jlan.server.filesys.TreeConnection tree)
Return the free space available to the specified user/session

Specified by:
getUserFreeSpace in interface org.alfresco.jlan.server.filesys.quota.QuotaManager
Parameters:
sess - SrvSession
tree - TreeConnection
Returns:
long

allocateSpace

public long allocateSpace(org.alfresco.jlan.server.SrvSession sess,
                          org.alfresco.jlan.server.filesys.TreeConnection tree,
                          org.alfresco.jlan.server.filesys.NetworkFile file,
                          long alloc)
                   throws java.io.IOException
Allocate space on the filesystem.

Specified by:
allocateSpace in interface org.alfresco.jlan.server.filesys.quota.QuotaManager
Parameters:
sess - SrvSession
tree - TreeConnection
file - NetworkFile
alloc - long requested allocation size
Returns:
long granted allocation size
Throws:
java.io.IOException

releaseSpace

public void releaseSpace(org.alfresco.jlan.server.SrvSession sess,
                         org.alfresco.jlan.server.filesys.TreeConnection tree,
                         int fid,
                         java.lang.String path,
                         long alloc)
                  throws java.io.IOException
Release space to the free space for the filesystem.

Specified by:
releaseSpace in interface org.alfresco.jlan.server.filesys.quota.QuotaManager
Parameters:
sess - SrvSession
tree - TreeConnection
fid - int
path - String
alloc - long
Throws:
java.io.IOException

startManager

public void startManager(org.alfresco.jlan.server.filesys.DiskInterface disk,
                         org.alfresco.jlan.server.filesys.DiskDeviceContext ctx)
                  throws org.alfresco.jlan.server.filesys.quota.QuotaManagerException
Start the quota manager.

Specified by:
startManager in interface org.alfresco.jlan.server.filesys.quota.QuotaManager
Parameters:
disk - DiskInterface
ctx - DiskDeviceContext
Throws:
org.alfresco.jlan.server.filesys.quota.QuotaManagerException

stopManager

public void stopManager(org.alfresco.jlan.server.filesys.DiskInterface disk,
                        org.alfresco.jlan.server.filesys.DiskDeviceContext ctx)
                 throws org.alfresco.jlan.server.filesys.quota.QuotaManagerException
Stop the quota manager

Specified by:
stopManager in interface org.alfresco.jlan.server.filesys.quota.QuotaManager
Parameters:
disk - DiskInterface
ctx - DiskDeviceContext
Throws:
org.alfresco.jlan.server.filesys.quota.QuotaManagerException

run

public void run()
Inactivity checker, run in a seperate thread

Specified by:
run in interface java.lang.Runnable

setContentService

public void setContentService(ContentService contentService)

getContentService

public ContentService getContentService()


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