com.atlassian.jira.web.action.issue
Class TemporaryAttachmentsMonitor

java.lang.Object
  extended by com.atlassian.jira.web.action.issue.TemporaryAttachmentsMonitor
All Implemented Interfaces:
java.util.EventListener, javax.servlet.http.HttpSessionBindingListener

public class TemporaryAttachmentsMonitor
extends java.lang.Object
implements javax.servlet.http.HttpSessionBindingListener

This class maintains a list of temporary attachments uploaded by a user. When the user's session expires or the user logs out, it is responsible of deleting any temporary files that were not converted to proper attachments.

Since:
v4.2

Constructor Summary
TemporaryAttachmentsMonitor()
           
 
Method Summary
 void add(TemporaryAttachment temporaryAttachment)
          Adds temporary attachments to the interally maintained list of temporary attachements
 void clearEntriesForIssue(java.lang.Long issueId)
          Removes all temporary attachments for the given issue.
 TemporaryAttachment getById(java.lang.Long id)
          Returns matching temporary attachment by attachment id.
 java.util.Collection<TemporaryAttachment> getByIssueId(java.lang.Long issueId)
          Returns all currently matchign temporary attachments for a particular issue.
 void valueBound(javax.servlet.http.HttpSessionBindingEvent httpSessionBindingEvent)
           
 void valueUnbound(javax.servlet.http.HttpSessionBindingEvent httpSessionBindingEvent)
          When this object is unbount from the HttpSession, it's responsible for cleanup.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TemporaryAttachmentsMonitor

public TemporaryAttachmentsMonitor()
Method Detail

add

public void add(TemporaryAttachment temporaryAttachment)
Adds temporary attachments to the interally maintained list of temporary attachements

Parameters:
temporaryAttachment - the attachment to add

getById

public TemporaryAttachment getById(java.lang.Long id)
Returns matching temporary attachment by attachment id.

Parameters:
id - the id of the temporary attachment
Returns:
The temporary attachment or null if no matching attachment was found

getByIssueId

public java.util.Collection<TemporaryAttachment> getByIssueId(java.lang.Long issueId)
Returns all currently matchign temporary attachments for a particular issue. If a null issue id is provided, this should be interpreted as a newly created issue that doesn't have an id yet.

Parameters:
issueId - The id of the issue to get attachmetns for. May be null
Returns:
a collection of temporary attachments for this issue sorted by creation date

clearEntriesForIssue

public void clearEntriesForIssue(java.lang.Long issueId)
Removes all temporary attachments for the given issue. The issueId may be null to indicate a newly created issue, that doesn't have an id yet.

Parameters:
issueId - The id of the issue to remove entries for. May be null.

valueBound

public void valueBound(javax.servlet.http.HttpSessionBindingEvent httpSessionBindingEvent)
Specified by:
valueBound in interface javax.servlet.http.HttpSessionBindingListener

valueUnbound

public void valueUnbound(javax.servlet.http.HttpSessionBindingEvent httpSessionBindingEvent)
When this object is unbount from the HttpSession, it's responsible for cleanup. Any temporary attachments not converted to real attachments by now should be deleted to save disk space!

Specified by:
valueUnbound in interface javax.servlet.http.HttpSessionBindingListener
Parameters:
httpSessionBindingEvent -


Copyright © 2002-2010 Atlassian. All Rights Reserved.