Package com.atlassian.confluence.pages
Class Page
- java.lang.Object
-
- com.atlassian.core.bean.EntityObject
-
- All Implemented Interfaces:
Searchable
,Content
,Addressable
,ContentTypeAware
,HasLinkWikiMarkup
,Hierarchical<Page>
,Versioned
,RelatableEntity
,EditableLabelable
,Labelable
,ContentConvertible
,Spaced
,Serializable
,Cloneable
,Comparable<ContentEntityObject>
public class Page extends AbstractPage implements Hierarchical<Page>, ContentConvertible
Represents a Page within Confluence.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static String
CONTENT_TYPE
-
Fields inherited from class com.atlassian.confluence.core.ContentEntityObject
COLLABORATIVE_EDITING_UUID, CONFLUENCE_RECOVERY, CONFLUENCE_RECOVERY_WITH_EXTERNAL_CHANGE, CONTENT_RESTORED_SYNC_REV_SOURCE, CREATED, CURRENT, DELETED, DRAFT, DUMMY_SYNC_REV, LIMITED_MODE_SYNC_REV_SOURCE, MODIFIED, SHARE_ID, SYNC_REV, SYNC_REV_SOURCE, SYNCHRONY_ACK_SYNC_REV_SOURCE, SYNCHRONY_RECOVERY, SYNCHRONY_RECOVERY_WITH_EXTERNAL_CHANGE, SYNCHRONY_SYNC_REV_SOURCE
-
Fields inherited from class com.atlassian.confluence.core.AbstractVersionedEntityObject
INITIAL_VERSION
-
-
Constructor Summary
Constructors Constructor Description Page()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addChild(Page child)
void
convertToHistoricalVersion()
Remove all data from the object that does not need to be saved by historical versions.Page
copyLatestVersion()
Copy page informationList<Page>
getAncestors()
Gets the list of ancestors of this page (its parents, and its parents parents, right up to the root level of the containing space).List<Page>
getChildren()
ContentId
getContentId()
Returns theContentId
for this Page.ContentType
getContentTypeObject()
List<Page>
getDescendants()
Get descendants with "current" state onlyList<Page>
getDescendents()
Deprecated.since 5.5.1.String
getLinkWikiMarkup()
String
getNameForComparison()
Subclasses should implement this method, giving a String back so that the content can be alphabetically sorted in a mixed-type list of content-entities.Page
getParent()
Integer
getPosition()
List<Page>
getSortedChildren()
String
getType()
An easy name for the type of this content: makes it easy for things like the #contentLink macro to work out what to draw.boolean
hasChildren()
void
incPosition()
boolean
isHomePage()
boolean
isIndexable()
pages, blogs etc that aren't not associated with a space (either because they are historical or corrupt) should not be indexed if they are indexed, and returned in search results, they are broken and are therefore uselessboolean
isRootLevel()
void
remove(PageManager pageManager)
Sever any homepagevoid
removeChild(Page child)
void
setAncestors(List<Page> ancestors)
This should only ever be set by Hibernate.void
setChildren(List<Page> children)
void
setParent(Page parent)
Deprecated.Since 1.1.void
setParentPage(Page parent)
Public setter that makes sure that the parent page is validvoid
setPosition(Integer position)
void
setSpace(Space newSpace)
void
severParentChildRelationships()
sever parent/child relationshipsboolean
shouldConvertToContent()
void
trash()
places content in trash can-
Methods inherited from class com.atlassian.confluence.pages.AbstractPage
getAttachmentsUrlPath, getAttachmentUrlPath, getConfluenceRevision, getEditUrlPath, getLatestVersion, getOriginalVersionPage, getPageLevelComments, getPreviousVersion, getSearchableDependants, getTopLevelComments, getUrlPath, isValidPageTitle, isValidTitleLength, setContentPropertiesFromDraft, setOriginalVersionPage, setTitle
-
Methods inherited from class com.atlassian.confluence.core.SpaceContentEntityObject
getSpace, getSpaceKey, hashCode, isInSpace
-
Methods inherited from class com.atlassian.confluence.core.ContentEntityObject
addAttachment, addComment, addCustomContent, addOutgoingLink, addPermission, applyChildVersioningPolicy, applyChildVersioningPolicy, clone, compareTo, ensureAttachmentBelongsToContent, equals, getAttachmentManager, getAttachmentNamed, getAttachments, getBodyAsString, getBodyAsStringWithoutMarkup, getBodyContent, getBodyContent, getBodyContents, getCollaborativeEditingUuid, getComments, getContainerContent, getContentPermission, getContentPermissionSet, getContentStatus, getContentStatusObject, getCustomContent, getDefaultBodyType, getDisplayTitle, getEntity, getExcerpt, getIdAsString, getLatestVersionId, getLatestVersionsOfAttachments, getLowerTitle, getOriginalVersionId, getOutgoingLinks, getPermissions, getProperties, getRenderedVersionComment, getSelector, getShareId, getSynchronyRevision, getSynchronyRevisionSource, getTitle, getTrashDate, getTypeEnum, getVersionComment, hasContentPermissions, hasPermissions, isCurrent, isDeleted, isDraft, isUnpublished, isVersionCommentAvailable, removeAttachment, removeComment, removeContentPermissionSet, removeCustomContent, removeOutgoingLink, replaceContentProperties, restore, restoreDependents, setAttachments, setBodyAsString, setBodyContent, setBodyContents, setCollaborativeEditingUuid, setComments, setContainerContent, setContentPropertiesFrom, setContentStatus, setOriginalVersion, setOriginalVersionId, setOutgoingLinks, setShareId, setSynchronyRevision, setSynchronyRevisionSource, setVersionComment, sharedAccessAllowed, sharedAccessAllowed, toPageContext, toString, trash, trashDependents, wasCreatedBy
-
Methods inherited from class com.atlassian.confluence.core.AbstractLabelableEntityObject
addLabelling, getGlobalLabels, getLabelCount, getLabellings, getLabels, getLabelsForDisplay, getPersonalLabels, getTeamLabels, getVisibleLabels, isFavourite, removeLabelling, setLabellings
-
Methods inherited from class com.atlassian.confluence.core.AbstractVersionedEntityObject
getVersion, getVersionChildPolicy, isLatestVersion, isNew, setVersion
-
Methods inherited from class com.atlassian.confluence.core.ConfluenceEntityObject
getCreator, getCreatorName, getLastModifier, getLastModifierName, getRealClass, isPersistent, setCreator, setCreatorName, setLastModifier, setLastModifierName
-
Methods inherited from class com.atlassian.core.bean.EntityObject
getCreationDate, getCurrentDate, getId, getLastModificationDate, setClock, setCreationDate, setId, setLastModificationDate
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.atlassian.confluence.core.Addressable
getId
-
Methods inherited from interface com.atlassian.confluence.pages.ContentConvertible
getSelector
-
Methods inherited from interface com.atlassian.confluence.labels.EditableLabelable
getId, isPersistent
-
Methods inherited from interface com.atlassian.bonnie.Searchable
getId
-
-
-
-
Field Detail
-
CONTENT_TYPE
public static final String CONTENT_TYPE
- See Also:
- Constant Field Values
-
-
Method Detail
-
setPosition
public void setPosition(Integer position)
-
incPosition
public void incPosition()
-
getPosition
public Integer getPosition()
-
isRootLevel
public boolean isRootLevel()
- Specified by:
isRootLevel
in interfaceHierarchical<Page>
-
getParent
public Page getParent()
- Specified by:
getParent
in interfaceHierarchical<Page>
-
setParent
@Deprecated public void setParent(Page parent)
Deprecated.Since 1.1. Do not call this method. It exists solely for hibernate to use. Use #setParentPage instead. I would have made this method private, but CGLIB was complaining.- Specified by:
setParent
in interfaceHierarchical<Page>
-
setParentPage
public void setParentPage(Page parent)
Public setter that makes sure that the parent page is valid- Parameters:
parent
- the page to set as this page's parent- Throws:
IllegalArgumentException
- if the parent page is in a different space.
-
getChildren
public List<Page> getChildren()
- Specified by:
getChildren
in interfaceHierarchical<Page>
-
hasChildren
public boolean hasChildren()
- Specified by:
hasChildren
in interfaceHierarchical<Page>
-
setChildren
public void setChildren(List<Page> children)
- Specified by:
setChildren
in interfaceHierarchical<Page>
-
addChild
public void addChild(Page child)
- Specified by:
addChild
in interfaceHierarchical<Page>
-
removeChild
public void removeChild(Page child)
- Specified by:
removeChild
in interfaceHierarchical<Page>
-
isHomePage
public boolean isHomePage()
-
getType
public String getType()
Description copied from class:ContentEntityObject
An easy name for the type of this content: makes it easy for things like the #contentLink macro to work out what to draw.This is a bit of a hack, but it saves heaps of code elsewhere, especially since we tend to get back these objects wrapped in all sorts of Hibernate CGLIB stuff.
- Specified by:
getType
in interfaceContentTypeAware
- Specified by:
getType
in classContentEntityObject
- Returns:
- the content type
-
convertToHistoricalVersion
public void convertToHistoricalVersion()
Description copied from interface:Versioned
Remove all data from the object that does not need to be saved by historical versions. For versioned objects that are persisted, this includes removing associations with other persisted objects that may otherwise cause us to break the expected arity of the database relations.When using Hibernate to persist versioned objects, take special care to null any field that might contain a Hibernate-persisted collection, as Hibernate does not allow two different persistent objects to refer to the same persisted collection at the same time.
- Specified by:
convertToHistoricalVersion
in interfaceVersioned
- Overrides:
convertToHistoricalVersion
in classAbstractPage
-
getNameForComparison
public String getNameForComparison()
Description copied from class:ContentEntityObject
Subclasses should implement this method, giving a String back so that the content can be alphabetically sorted in a mixed-type list of content-entities.- Overrides:
getNameForComparison
in classSpaceContentEntityObject
-
severParentChildRelationships
public void severParentChildRelationships()
sever parent/child relationships
-
remove
public void remove(PageManager pageManager)
Sever any homepage- Overrides:
remove
in classAbstractPage
-
getLinkWikiMarkup
public String getLinkWikiMarkup()
- Specified by:
getLinkWikiMarkup
in interfaceHasLinkWikiMarkup
- Returns:
- the wiki markup used to link to this content
-
trash
public void trash()
Description copied from class:ContentEntityObject
places content in trash can- Overrides:
trash
in classContentEntityObject
-
getDescendants
public List<Page> getDescendants()
Get descendants with "current" state only- Returns:
- list of descendants
-
getDescendents
@Deprecated public List<Page> getDescendents()
Deprecated.since 5.5.1. UsegetDescendants()
-
getAncestors
public List<Page> getAncestors()
Gets the list of ancestors of this page (its parents, and its parents parents, right up to the root level of the containing space). This is more efficient than repeatedly calling getParent() as it does a single join across the ancestors table instead of one query per parent.For strange historical reasons, this list is in the opposite order you would expect. The LAST element of the list will be this page's parent.
- Specified by:
getAncestors
in interfaceHierarchical<Page>
- Returns:
- the list of ancestors of the page, ordered from the root of the space.
-
setAncestors
public void setAncestors(List<Page> ancestors)
This should only ever be set by Hibernate.
-
setSpace
public void setSpace(Space newSpace)
- Overrides:
setSpace
in classSpaceContentEntityObject
-
isIndexable
public boolean isIndexable()
Description copied from class:SpaceContentEntityObject
pages, blogs etc that aren't not associated with a space (either because they are historical or corrupt) should not be indexed if they are indexed, and returned in search results, they are broken and are therefore useless- Specified by:
isIndexable
in interfaceSearchable
- Overrides:
isIndexable
in classSpaceContentEntityObject
-
getContentTypeObject
public ContentType getContentTypeObject()
- Specified by:
getContentTypeObject
in interfaceContentConvertible
- Returns:
- the api ContentType that this ContentConvertible converts to
-
getContentId
public ContentId getContentId()
Returns theContentId
for this Page.- Specified by:
getContentId
in interfaceContentConvertible
- Overrides:
getContentId
in classContentEntityObject
- Returns:
- the ContentId representation of this Page's id
-
shouldConvertToContent
public boolean shouldConvertToContent()
- Specified by:
shouldConvertToContent
in interfaceContentConvertible
- Returns:
- true if the implementer wants to be part of the core API (default value), false otherwise
-
copyLatestVersion
public Page copyLatestVersion()
Copy page information- Returns:
- Since:
- 5.10
-
-