com.atlassian.confluence.pages
Interface DraftManager

All Known Implementing Classes:
DefaultDraftManager

public interface DraftManager

Saves, retrieves and merges drafts of Confluence content. Currently supports drafts for blog posts and pages.


Method Summary
 int countDrafts(String owner)
           
 Draft create(String username, DraftService.DraftType draftType, String spaceKey)
          Creates a new persistent draft of the specified draft type in the space for the user.
 Draft createDraftForPage(AbstractPage page, String username)
          Deprecated. since 5.7. No replacement.
 Draft findDraft(Long pageId, String owner, String type, String spaceKey)
          Finds the draft with the given page ID, owner and type.
 Draft findDraft(String pageId, String owner, String type, String spaceKey)
          Deprecated. since 4.3 use findDraft(Long, String, String, String)
 List<Draft> findDraftsForUser(com.atlassian.user.User user)
          Returns the drafts for the user provided or an empty list if the user has no drafts.
 Draft getDraft(long draftId)
          Finds the draft given a specific draft id.
 int getDraftSaveInterval()
          Deprecated. since 5.7. No replacement.
 List<Draft> getDraftsForSpace(String spaceKey)
          Deprecated. since 5.7. No replacement.
 String getMergedContent(Draft draft)
          Deprecated. since 4.0 use mergeContent(Draft draft) instead.
 Draft getOrCreate(String username, String draftType, String spaceKey)
          Deprecated. since 5.7. No replacement.
 boolean isMergeRequired(Draft draft)
          Returns true if the draft version of a page is different to the current version of a page, otherwise false.
 MergeResult mergeContent(Draft draft)
          Attempts the merge the changes done by this draft with the latest version of the content.
 void removeAll()
          Deprecated. since 5.7. Use removeDraftsForUser(String).
 void removeDraft(Draft draft)
          Removes the draft specified.
 void removeDraft(String pageId, String owner, String type, String spaceKey)
          Deprecated. since 4.3 use removeDraft(Draft)
 void removeDraftById(long id)
          Deprecated. since 5.7. Use removeDraft(Draft)
 void removeDraftsForUser(String username)
          Removes all drafts in the data store associated with the specified user.
 void saveDraft(Draft draft)
          Saves the provided draft to the data store.
 void updateSpaceKey(String newSpaceKey, String oldSpaceKey)
          Deprecated. since 5.7. No replacement.
 

Method Detail

saveDraft

void saveDraft(Draft draft)
Saves the provided draft to the data store. Anonymous drafts will be persisted to the web session.

The draft must have a page ID of "0" for drafts of new content, or the ID of an existing page or blog post.

Throws:
IllegalArgumentException - if the provided draft is null, has a null page ID, or no content with the draft's page ID can be found.

findDraft

Draft findDraft(Long pageId,
                String owner,
                String type,
                String spaceKey)
Finds the draft with the given page ID, owner and type. Returns null if a matching draft cannot be found.

Parameters:
pageId - the ID of the content which the draft is for
owner - the user name of the user who created the draft
type - the type of draft, which is usually the result of calling ContentEntityObject.getType()
spaceKey - Space that the draft lives in.
Returns:
the matching draft or null if a draft cannot be found

findDraft

@Deprecated
Draft findDraft(String pageId,
                           String owner,
                           String type,
                           String spaceKey)
Deprecated. since 4.3 use findDraft(Long, String, String, String)

Finds the draft with the given page ID, owner and type. Returns null if a matching draft cannot be found.

Parameters:
pageId - the ID of the content which the draft is for
owner - the user name of the user who created the draft
type - the type of draft, which is usually the result of calling ContentEntityObject.getType()
spaceKey - Space that the draft lives in.
Returns:
the matching draft or null if a draft cannot be found

countDrafts

int countDrafts(String owner)
Parameters:
owner -
Returns:
A count of drafts with content for the given owner

getDraft

Draft getDraft(long draftId)
Finds the draft given a specific draft id. Returns null if no draft is found.

Returns:
the matching draft or null if a draft cannot be found

getDraftsForSpace

@Deprecated
List<Draft> getDraftsForSpace(String spaceKey)
Deprecated. since 5.7. No replacement.

Parameters:
spaceKey -
Returns:
all the Drafts for the identified space key. An empty list will be returned if there are none.

removeDraft

void removeDraft(Draft draft)
Removes the draft specified. Does nothing if the draft cannot be found.


removeDraft

@Deprecated
void removeDraft(String pageId,
                            String owner,
                            String type,
                            String spaceKey)
Deprecated. since 4.3 use removeDraft(Draft)

Removes the draft specified by the given page ID, owner and type. Does nothing if the draft cannot be found.

See Also:
for an explanation of the arguments

removeDraftById

@Deprecated
void removeDraftById(long id)
Deprecated. since 5.7. Use removeDraft(Draft)

Removes a draft by ID. Does nothing if the draft cannot be found.

Parameters:
id - the ID of the draft to remove

getDraftSaveInterval

@Deprecated
int getDraftSaveInterval()
Deprecated. since 5.7. No replacement.

Returns the time in milliseconds between saving drafts in the editor. It is configurable in the application.


findDraftsForUser

List<Draft> findDraftsForUser(com.atlassian.user.User user)
Returns the drafts for the user provided or an empty list if the user has no drafts.


isMergeRequired

boolean isMergeRequired(Draft draft)
Returns true if the draft version of a page is different to the current version of a page, otherwise false. Always returns false for new content.


getMergedContent

@Deprecated
String getMergedContent(Draft draft)
Deprecated. since 4.0 use mergeContent(Draft draft) instead.

Attempts the merge the changes done by this draft with the latest version of the content. Returns the result of the merge.

Parameters:
draft - the draft whose changes to merge with the latest version of the content
Returns:
the merged content

mergeContent

MergeResult mergeContent(Draft draft)
Attempts the merge the changes done by this draft with the latest version of the content. Returns the result of the merge.

Parameters:
draft - the draft whose changes to merge with the latest version of the content
Returns:
the result of the merge.

updateSpaceKey

@Deprecated
void updateSpaceKey(String newSpaceKey,
                               String oldSpaceKey)
Deprecated. since 5.7. No replacement.

Updates all drafts with oldSpaceKey as their space key to have newSpaceKey instead. Used when converting a global space into a personal space.

Parameters:
newSpaceKey - the new space key
oldSpaceKey - the old space key

getOrCreate

@Deprecated
Draft getOrCreate(String username,
                             String draftType,
                             String spaceKey)
Deprecated. since 5.7. No replacement.

Gets a new draft object. If such a draft does not exist one is created.

Parameters:
username - name of user or null for anonymous users
draftType - the content type of the draft, e.g. Page.CONTENT_TYPE
spaceKey - the space key of the content
Returns:
the existing draft for the given content and user, or a new draft object if that does not exist.

createDraftForPage

@Deprecated
Draft createDraftForPage(AbstractPage page,
                                    String username)
Deprecated. since 5.7. No replacement.

Gets a new draft object. If such a draft does not exist one is created.

Parameters:
page - the existing content to create the draft for
username - name of user or null for anonymous users
Returns:
the existing draft for the given content and user, or a new draft object if that does not exist.

removeAll

@Deprecated
void removeAll()
Deprecated. since 5.7. Use removeDraftsForUser(String).

Removes all drafts in the data store associated with the current user. If the current user is anonymous, removes all drafts in that user's session, otherwise removes all drafts stored in the database.


removeDraftsForUser

void removeDraftsForUser(String username)
Removes all drafts in the data store associated with the specified user.


create

Draft create(String username,
             DraftService.DraftType draftType,
             String spaceKey)
Creates a new persistent draft of the specified draft type in the space for the user.

Parameters:
username - - the owner of the draft, may be null for anonymous
draftType - - the type of draft, (either blogpost or page)
spaceKey - - the space in which to create the draft
Returns:
a newly created persistent draft


Copyright © 2003–2015 Atlassian. All rights reserved.