@PublicApi public class

TemporaryAttachmentsMonitor

extends Object
implements HttpSessionBindingListener
java.lang.Object
   ↳ com.atlassian.jira.web.action.issue.TemporaryAttachmentsMonitor

@PublicApi

This class is designed for plugins to consume (call its methods).

Clients of @PublicApi can expect that programs compiled against a given version will remain binary compatible with later versions of the @PublicApi as per each product's API policy as long as the client does not implement/extend @PublicApi interfaces or classes (refer to each product's API policy for the exact guarantee---usually binary compatibility is guaranteed at least across minor versions).

Note: since @PublicApi interfaces and classes are not designed to be implemented or extended by clients, we may perform certain types of binary-incompatible changes to these classes and interfaces, but these will not affect well-behaved clients that do not extend/implement these types (in general, only classes and interfaces annotated with @PublicSpi are safe to extend/implement).

Class Overview

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.

Summary

Public Constructors
TemporaryAttachmentsMonitor()
Public Methods
void add(TemporaryAttachment temporaryAttachment)
Adds temporary attachments to the interally maintained list of temporary attachements
void clearEntriesForFormToken(String formToken)
Removes all temporary attachments for the given formToken.
@Deprecated void clearEntriesForIssue(Long issueId)
This method is deprecated. since 6.3 use clearEntriesForFormToken(String) instead.
Collection<TemporaryAttachment> getByFormToken(String formToken)
Returns all temporary attachments, which were bound to given form token.
TemporaryAttachment getById(Long id)
Returns matching temporary attachment by attachment id.
@Deprecated Collection<TemporaryAttachment> getByIssueId(Long issueId)
This method is deprecated. since 6.3 use getByFormToken(String) instead.
void valueBound(HttpSessionBindingEvent httpSessionBindingEvent)
void valueUnbound(HttpSessionBindingEvent httpSessionBindingEvent)
When this object is unbount from the HttpSession, it's responsible for cleanup.
[Expand]
Inherited Methods
From class java.lang.Object
From interface javax.servlet.http.HttpSessionBindingListener

Public Constructors

public TemporaryAttachmentsMonitor ()

Public Methods

public void add (TemporaryAttachment temporaryAttachment)

Adds temporary attachments to the interally maintained list of temporary attachements

Parameters
temporaryAttachment the attachment to add

public void clearEntriesForFormToken (String formToken)

Removes all temporary attachments for the given formToken. Form token may not be null;

Parameters
formToken The formToken of the form to remove entries for. May not be null.

@Deprecated public void clearEntriesForIssue (Long issueId)

This method is deprecated.
since 6.3 use clearEntriesForFormToken(String) instead.

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.

public Collection<TemporaryAttachment> getByFormToken (String formToken)

Returns all temporary attachments, which were bound to given form token. Form token may not be null.

Returns
  • a collection of temporary attachments for this form token sorted by creation date

public TemporaryAttachment getById (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

@Deprecated public Collection<TemporaryAttachment> getByIssueId (Long issueId)

This method is deprecated.
since 6.3 use getByFormToken(String) instead.

Returns all currently matching 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

public void valueBound (HttpSessionBindingEvent httpSessionBindingEvent)

public void valueUnbound (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!