com.atlassian.confluence.pages
Class ContentTree
java.lang.Object
com.atlassian.confluence.pages.ContentTree
public class ContentTree
- extends Object
Stores a list of root ContentNodes. The purpose of this tree object is to store a hierarchy of pages (maybe a subset
of the full tree) that a user can see after applying permission checks. This saves us from having to repeat
permission checks every time we need to display or walk the page hierarchy.
ContentTree
public ContentTree()
ContentTree
public ContentTree(ContentNode rootNode)
- Create a ContentTree with only a single root nodel
- Parameters:
rootNode
- the only root node in this content tree
ContentTree
public ContentTree(List<ContentNode> rootContentNodes)
getRootNodes
public List<ContentNode> getRootNodes()
isRootNode
public boolean isRootNode(ContentNode node)
filter
public void filter(List<String> ids)
- Remove all nodes in this tree whose id does not match the list passed in
- Parameters:
ids
- List of String representations of the ids of pages
addRootNode
public void addRootNode(ContentNode contentNode)
removeNode
public void removeNode(ContentNode contentNode)
getAllContentNodes
public List<ContentNode> getAllContentNodes()
getPage
public Page getPage(long pageId)
- Parameters:
pageId
- the id of the required page
- Returns:
- the Page from the ContentTree or null if there is no page with that id in the ContentTree
getPages
public List<Page> getPages()
- Returns:
- all the pages associated with the nodes in this tree
size
public int size()
- Returns:
- the number of nodes in this tree
equals
public boolean equals(Object obj)
- Overrides:
equals
in class Object
hashCode
public int hashCode()
- Overrides:
hashCode
in class Object