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>
Represents a Page within Confluence.
- See Also:
-
Field Summary
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, DELETED_BY, DELETED_BY_ANON_VALUE, 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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
void
Remove all data from the object that does not need to be saved by historical versions.Copy page informationGets the list of ancestors of this page (its parents, and its parents parents, right up to the root level of the containing space).Returns theContentId
for this Page.Get descendants with "current" state onlyDeprecated.since 5.5.1.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.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
void
boolean
boolean
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
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
Deprecated.Since 1.1.void
setParentPage
(Page parent) Public setter that makes sure that the parent page is validvoid
setPosition
(Integer position) void
void
sever parent/child relationshipsboolean
void
trash()
places content in trash canMethods inherited from class com.atlassian.confluence.pages.AbstractPage
getAttachmentsUrlPath, getAttachmentUrlPath, getConfluenceRevision, getEditUrlPath, getIdBasedPageUrl, 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, 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 Details
-
CONTENT_TYPE
- See Also:
-
-
Constructor Details
-
Page
public Page()
-
-
Method Details
-
setPosition
-
incPosition
public void incPosition() -
getPosition
-
isRootLevel
public boolean isRootLevel()- Specified by:
isRootLevel
in interfaceHierarchical<Page>
-
getParent
- Specified by:
getParent
in interfaceHierarchical<Page>
-
setParent
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 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
- Specified by:
getChildren
in interfaceHierarchical<Page>
-
hasChildren
public boolean hasChildren()- Specified by:
hasChildren
in interfaceHierarchical<Page>
-
getSortedChildren
-
setChildren
- Specified by:
setChildren
in interfaceHierarchical<Page>
-
addChild
- Specified by:
addChild
in interfaceHierarchical<Page>
-
removeChild
- Specified by:
removeChild
in interfaceHierarchical<Page>
-
isHomePage
public boolean isHomePage() -
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
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
Sever any homepage- Overrides:
remove
in classAbstractPage
-
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
Get descendants with "current" state only- Returns:
- list of descendants
-
getDescendents
Deprecated.since 5.5.1. UsegetDescendants()
-
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
This should only ever be set by Hibernate. -
setSpace
- 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
- Specified by:
getContentTypeObject
in interfaceContentConvertible
- Returns:
- the api ContentType that this ContentConvertible converts to
-
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
Copy page information- Returns:
- Since:
- 5.10
-