org.apache.jetspeed.om.folder.impl
Class FolderImpl

java.lang.Object
  extended by org.apache.jetspeed.om.page.impl.BaseElementImpl
      extended by org.apache.jetspeed.page.document.impl.NodeImpl
          extended by org.apache.jetspeed.om.folder.impl.FolderImpl
All Implemented Interfaces:
org.apache.jetspeed.om.common.SecuredResource, org.apache.jetspeed.om.folder.Folder, org.apache.jetspeed.om.page.BaseElement, org.apache.jetspeed.page.document.Node

public class FolderImpl
extends NodeImpl
implements org.apache.jetspeed.om.folder.Folder

FolderImpl

Version:
$Id$
Author:
Randy Watler

Field Summary
private  List all
           
private  boolean allCached
           
private  org.apache.jetspeed.page.document.NodeSet allNodeSet
           
private  String defaultLayoutDecorator
           
private  String defaultPage
           
private  String defaultPortletDecorator
           
private  FolderOrderList documentOrder
           
private  Comparator documentOrderComparator
           
private  boolean documentOrderComparatorValid
           
private  List folders
           
private  boolean foldersCached
           
private  org.apache.jetspeed.page.document.NodeSet foldersNodeSet
           
private  List links
           
private  boolean linksCached
           
private  org.apache.jetspeed.page.document.NodeSet linksNodeSet
           
private  FolderMenuDefinitionList menuDefinitions
           
private  List menus
           
private  List orders
           
private  org.apache.jetspeed.page.PageManager pageManager
           
private  List pages
           
private  boolean pagesCached
           
private  PageSecurityImpl pageSecurity
           
private  boolean pageSecurityCached
           
private  org.apache.jetspeed.page.document.NodeSet pagesNodeSet
           
private  String skin
           
 
Fields inherited from interface org.apache.jetspeed.om.folder.Folder
COUNTRY_FOLDER, FALLBACK_DEFAULT_PAGE, FOLDER_TYPE, GROUP_FOLDER, LANGUAGE_FOLDER, MEDIATYPE_FOLDER, PAGE_NOT_FOUND_PAGE, RESERVED_COUNTRY_FOLDER_NAME, RESERVED_FOLDER_COUNTRY, RESERVED_FOLDER_GROUPS, RESERVED_FOLDER_LANGUAGE, RESERVED_FOLDER_MEDIATYPE, RESERVED_FOLDER_NONE, RESERVED_FOLDER_OTHER, RESERVED_FOLDER_PREFIX, RESERVED_FOLDER_ROLES, RESERVED_FOLDER_SUBSITES, RESERVED_FOLDER_USERS, RESERVED_GROUP_FOLDER_NAME, RESERVED_LANGUAGE_FOLDER_NAME, RESERVED_MEDIATYPE_FOLDER_NAME, RESERVED_ROLE_FOLDER_NAME, RESERVED_SUBSITE_FOLDER_PREFIX, RESERVED_USER_FOLDER_NAME, ROLE_FOLDER, USER_FOLDER
 
Fields inherited from interface org.apache.jetspeed.page.document.Node
PATH_SEPARATOR, PATH_SEPARATOR_CHAR
 
Constructor Summary
FolderImpl()
           
 
Method Summary
 List accessAll()
          accessAll Access all transient cache collection for use by PageManager.
(package private)  List accessFolderOrders()
          accessFolderOrders Access mutable persistent collection member for List wrappers.
 List accessFolders()
          accessFolders Access folders transient cache collection for use by PageManager.
 List accessLinks()
          accessLinks Access links transient cache collection for use by PageManager.
(package private)  List accessMenus()
          accessMenus Access mutable persistent collection member for List wrappers.
 List accessPages()
          accessPages Access pages transient cache collection for use by PageManager.
 PageSecurityImpl accessPageSecurity()
          accessPageSecurity Access pageSecurity cached instance for use by PageManager.
 void checkPermissions(String path, int mask, boolean checkNodeOnly, boolean checkParentsOnly)
          checkPermissions
(package private)  void clearDocumentOrderComparator()
          clearDocumentOrderComparator
private  Comparator createDocumentOrderComparator()
          createDocumentOrderComparator
(package private) static org.apache.jetspeed.page.document.NodeSet filterNodeSetByAccess(org.apache.jetspeed.page.document.NodeSet nodes)
          filterNodeSetByAccess Filter node set elements for view access.
 org.apache.jetspeed.page.document.NodeSet getAll()
           
private  org.apache.jetspeed.page.document.NodeSet getAllNodeSet()
          getAllNodeSet Latently create and access all nodes node set.
 String getDefaultDecorator(String fragmentType)
           
 String getDefaultPage()
           
 List getDocumentOrder()
           
 String getEffectiveDefaultDecorator(String fragmentType)
           
 org.apache.jetspeed.om.page.PageSecurity getEffectivePageSecurity()
          getEffectivePageSecurity
 org.apache.jetspeed.om.folder.Folder getFolder(String name)
           
 org.apache.jetspeed.page.document.NodeSet getFolders()
           
private  org.apache.jetspeed.page.document.NodeSet getFoldersNodeSet()
          getFoldersNodeSet Latently create and access folders node set.
 org.apache.jetspeed.om.page.Link getLink(String name)
           
 org.apache.jetspeed.page.document.NodeSet getLinks()
           
private  org.apache.jetspeed.page.document.NodeSet getLinksNodeSet()
          getLinksNodeSet Latently create and access links node set.
 List getMenuDefinitions()
           
 org.apache.jetspeed.om.page.Page getPage(String name)
           
 org.apache.jetspeed.page.PageManager getPageManager()
           
 org.apache.jetspeed.page.document.NodeSet getPages()
           
 org.apache.jetspeed.om.page.PageSecurity getPageSecurity()
           
private  org.apache.jetspeed.page.document.NodeSet getPagesNodeSet()
          getPagesNodeSet Latently create and access pages node set.
 int getReservedType()
           
 String getSkin()
           
 String getTitle()
           
 String getType()
           
 boolean isReserved()
           
 org.apache.jetspeed.om.folder.MenuDefinition newMenuDefinition()
           
 org.apache.jetspeed.om.folder.MenuExcludeDefinition newMenuExcludeDefinition()
           
 org.apache.jetspeed.om.folder.MenuIncludeDefinition newMenuIncludeDefinition()
           
 org.apache.jetspeed.om.folder.MenuOptionsDefinition newMenuOptionsDefinition()
           
 org.apache.jetspeed.om.folder.MenuSeparatorDefinition newMenuSeparatorDefinition()
           
 PageMetadataImpl newPageMetadata(Collection fields)
          newPageMetadata Construct page manager specific metadata implementation.
 void resetAll(boolean cached)
          resetAll Reset all transient caches for use by PageManager.
 void resetFolders(boolean cached)
          resetFolders Reset folders transient caches for use by PageManager.
 void resetLinks(boolean cached)
          resetLinks Reset links transient caches for use by PageManager.
 void resetPages(boolean cached)
          resetPages Reset pages transient caches for use by PageManager.
 void resetPageSecurity(PageSecurityImpl newPageSecurity, boolean cached)
          resetPageSecurity Reset pageSecurity transient cache instance for use by PageManager.
 void setDefaultDecorator(String decoratorName, String fragmentType)
           
 void setDefaultPage(String defaultPage)
           
 void setDocumentOrder(List docNames)
           
 void setMenuDefinitions(List definitions)
           
 void setPageManager(org.apache.jetspeed.page.PageManager pageManager)
          setPageManager Infuses PageManager for use by this folder instance.
 void setSkin(String skinName)
           
 
Methods inherited from class org.apache.jetspeed.page.document.impl.NodeImpl
checkConstraints, defaultTitleFromName, getCanonicalNodePath, getLogicalPermissionPath, getMetadata, getName, getPageMetadata, getParent, getPath, getPhysicalPermissionPath, getShortTitle, getTitle, getUrl, isHidden, setHidden, setName, setParent, setPath
 
Methods inherited from class org.apache.jetspeed.om.page.impl.BaseElementImpl
checkAccess, checkConstraints, checkPermissions, checkPermissions, equals, getConstraintsEnabled, getId, getPermissionsEnabled, getSecurityConstraints, getShortTitle, grantViewActionAccess, hashCode, newSecurityConstraint, newSecurityConstraints, resetCachedSecurityConstraints, setConstraintsEnabled, setPermissionsEnabled, setSecurityConstraints, setShortTitle, setTitle
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.jetspeed.page.document.Node
getMetadata, getName, getParent, getPath, getShortTitle, getTitle, getUrl, isHidden, setHidden, setParent, setPath
 
Methods inherited from interface org.apache.jetspeed.om.page.BaseElement
getId, getShortTitle, setShortTitle, setTitle
 
Methods inherited from interface org.apache.jetspeed.om.common.SecuredResource
checkAccess, checkConstraints, checkPermissions, getConstraintsEnabled, getPermissionsEnabled, getSecurityConstraints, newSecurityConstraint, newSecurityConstraints, setSecurityConstraints
 

Field Detail

defaultPage

private String defaultPage

skin

private String skin

defaultLayoutDecorator

private String defaultLayoutDecorator

defaultPortletDecorator

private String defaultPortletDecorator

orders

private List orders

menus

private List menus

pageManager

private org.apache.jetspeed.page.PageManager pageManager

folders

private List folders

foldersCached

private boolean foldersCached

pages

private List pages

pagesCached

private boolean pagesCached

links

private List links

linksCached

private boolean linksCached

pageSecurity

private PageSecurityImpl pageSecurity

pageSecurityCached

private boolean pageSecurityCached

all

private List all

allCached

private boolean allCached

documentOrder

private FolderOrderList documentOrder

documentOrderComparatorValid

private boolean documentOrderComparatorValid

documentOrderComparator

private Comparator documentOrderComparator

foldersNodeSet

private org.apache.jetspeed.page.document.NodeSet foldersNodeSet

pagesNodeSet

private org.apache.jetspeed.page.document.NodeSet pagesNodeSet

linksNodeSet

private org.apache.jetspeed.page.document.NodeSet linksNodeSet

allNodeSet

private org.apache.jetspeed.page.document.NodeSet allNodeSet

menuDefinitions

private FolderMenuDefinitionList menuDefinitions
Constructor Detail

FolderImpl

public FolderImpl()
Method Detail

accessFolderOrders

List accessFolderOrders()
accessFolderOrders Access mutable persistent collection member for List wrappers.

Returns:
persistent collection

accessMenus

List accessMenus()
accessMenus Access mutable persistent collection member for List wrappers.

Returns:
persistent collection

setPageManager

public void setPageManager(org.apache.jetspeed.page.PageManager pageManager)
setPageManager Infuses PageManager for use by this folder instance.

Parameters:
pageManager - page manager that manages this folder instance

accessFolders

public List accessFolders()
accessFolders Access folders transient cache collection for use by PageManager.

Returns:
folders collection

resetFolders

public void resetFolders(boolean cached)
resetFolders Reset folders transient caches for use by PageManager.

Parameters:
cached - set cached state for folders

accessPages

public List accessPages()
accessPages Access pages transient cache collection for use by PageManager.

Returns:
pages collection

resetPages

public void resetPages(boolean cached)
resetPages Reset pages transient caches for use by PageManager.

Parameters:
cached - set cached state for pages

accessLinks

public List accessLinks()
accessLinks Access links transient cache collection for use by PageManager.

Returns:
links collection

resetLinks

public void resetLinks(boolean cached)
resetLinks Reset links transient caches for use by PageManager.

Parameters:
cached - set cached state for links

accessPageSecurity

public PageSecurityImpl accessPageSecurity()
accessPageSecurity Access pageSecurity cached instance for use by PageManager.

Returns:
pageSecurity instance

resetPageSecurity

public void resetPageSecurity(PageSecurityImpl newPageSecurity,
                              boolean cached)
resetPageSecurity Reset pageSecurity transient cache instance for use by PageManager.

Parameters:
newPageSecurty - cached page security instance.
cached - set cached state for page security

accessAll

public List accessAll()
accessAll Access all transient cache collection for use by PageManager.

Returns:
all collection

resetAll

public void resetAll(boolean cached)
resetAll Reset all transient caches for use by PageManager.

Parameters:
cached - set cached state for all

createDocumentOrderComparator

private Comparator createDocumentOrderComparator()
createDocumentOrderComparator

Returns:
document order comparator

clearDocumentOrderComparator

void clearDocumentOrderComparator()
clearDocumentOrderComparator


newPageMetadata

public PageMetadataImpl newPageMetadata(Collection fields)
Description copied from class: NodeImpl
newPageMetadata Construct page manager specific metadata implementation.

Overrides:
newPageMetadata in class NodeImpl
Parameters:
fields - mutable fields collection
Returns:
page metadata

getEffectivePageSecurity

public org.apache.jetspeed.om.page.PageSecurity getEffectivePageSecurity()
Description copied from class: BaseElementImpl
getEffectivePageSecurity

Overrides:
getEffectivePageSecurity in class NodeImpl
Returns:
effective page security object

checkPermissions

public void checkPermissions(String path,
                             int mask,
                             boolean checkNodeOnly,
                             boolean checkParentsOnly)
                      throws SecurityException
Description copied from class: BaseElementImpl
checkPermissions

Overrides:
checkPermissions in class NodeImpl
Parameters:
path - permissions path to check
mask - mask of actions to check
checkNodeOnly - check node scope only
checkParentsOnly - check parent folder scope only
Throws:
SecurityException

getTitle

public String getTitle()
Specified by:
getTitle in interface org.apache.jetspeed.om.page.BaseElement
Overrides:
getTitle in class BaseElementImpl

getSkin

public String getSkin()
Specified by:
getSkin in interface org.apache.jetspeed.om.folder.Folder

setSkin

public void setSkin(String skinName)
Specified by:
setSkin in interface org.apache.jetspeed.om.folder.Folder

getEffectiveDefaultDecorator

public String getEffectiveDefaultDecorator(String fragmentType)
Specified by:
getEffectiveDefaultDecorator in interface org.apache.jetspeed.om.folder.Folder

getDefaultDecorator

public String getDefaultDecorator(String fragmentType)
Specified by:
getDefaultDecorator in interface org.apache.jetspeed.om.folder.Folder

setDefaultDecorator

public void setDefaultDecorator(String decoratorName,
                                String fragmentType)
Specified by:
setDefaultDecorator in interface org.apache.jetspeed.om.folder.Folder

getDocumentOrder

public List getDocumentOrder()
Specified by:
getDocumentOrder in interface org.apache.jetspeed.om.folder.Folder

setDocumentOrder

public void setDocumentOrder(List docNames)
Specified by:
setDocumentOrder in interface org.apache.jetspeed.om.folder.Folder

getDefaultPage

public String getDefaultPage()
Specified by:
getDefaultPage in interface org.apache.jetspeed.om.folder.Folder

setDefaultPage

public void setDefaultPage(String defaultPage)
Specified by:
setDefaultPage in interface org.apache.jetspeed.om.folder.Folder

getFolders

public org.apache.jetspeed.page.document.NodeSet getFolders()
                                                     throws org.apache.jetspeed.page.document.DocumentException
Specified by:
getFolders in interface org.apache.jetspeed.om.folder.Folder
Throws:
org.apache.jetspeed.page.document.DocumentException

getFolder

public org.apache.jetspeed.om.folder.Folder getFolder(String name)
                                               throws org.apache.jetspeed.om.folder.FolderNotFoundException,
                                                      org.apache.jetspeed.page.document.DocumentException
Specified by:
getFolder in interface org.apache.jetspeed.om.folder.Folder
Throws:
org.apache.jetspeed.om.folder.FolderNotFoundException
org.apache.jetspeed.page.document.DocumentException

getPages

public org.apache.jetspeed.page.document.NodeSet getPages()
                                                   throws org.apache.jetspeed.page.document.NodeException
Specified by:
getPages in interface org.apache.jetspeed.om.folder.Folder
Throws:
org.apache.jetspeed.page.document.NodeException

getPage

public org.apache.jetspeed.om.page.Page getPage(String name)
                                         throws org.apache.jetspeed.page.PageNotFoundException,
                                                org.apache.jetspeed.page.document.NodeException
Specified by:
getPage in interface org.apache.jetspeed.om.folder.Folder
Throws:
org.apache.jetspeed.page.PageNotFoundException
org.apache.jetspeed.page.document.NodeException

getLinks

public org.apache.jetspeed.page.document.NodeSet getLinks()
                                                   throws org.apache.jetspeed.page.document.NodeException
Specified by:
getLinks in interface org.apache.jetspeed.om.folder.Folder
Throws:
org.apache.jetspeed.page.document.NodeException

getLink

public org.apache.jetspeed.om.page.Link getLink(String name)
                                         throws org.apache.jetspeed.page.document.DocumentNotFoundException,
                                                org.apache.jetspeed.page.document.NodeException
Specified by:
getLink in interface org.apache.jetspeed.om.folder.Folder
Throws:
org.apache.jetspeed.page.document.DocumentNotFoundException
org.apache.jetspeed.page.document.NodeException

getPageSecurity

public org.apache.jetspeed.om.page.PageSecurity getPageSecurity()
                                                         throws org.apache.jetspeed.page.document.DocumentNotFoundException,
                                                                org.apache.jetspeed.page.document.NodeException
Specified by:
getPageSecurity in interface org.apache.jetspeed.om.folder.Folder
Throws:
org.apache.jetspeed.page.document.DocumentNotFoundException
org.apache.jetspeed.page.document.NodeException

getAll

public org.apache.jetspeed.page.document.NodeSet getAll()
                                                 throws org.apache.jetspeed.page.document.DocumentException
Specified by:
getAll in interface org.apache.jetspeed.om.folder.Folder
Throws:
org.apache.jetspeed.page.document.DocumentException

getMenuDefinitions

public List getMenuDefinitions()
Specified by:
getMenuDefinitions in interface org.apache.jetspeed.om.folder.Folder

newMenuDefinition

public org.apache.jetspeed.om.folder.MenuDefinition newMenuDefinition()
Specified by:
newMenuDefinition in interface org.apache.jetspeed.om.folder.Folder

newMenuExcludeDefinition

public org.apache.jetspeed.om.folder.MenuExcludeDefinition newMenuExcludeDefinition()
Specified by:
newMenuExcludeDefinition in interface org.apache.jetspeed.om.folder.Folder

newMenuIncludeDefinition

public org.apache.jetspeed.om.folder.MenuIncludeDefinition newMenuIncludeDefinition()
Specified by:
newMenuIncludeDefinition in interface org.apache.jetspeed.om.folder.Folder

newMenuOptionsDefinition

public org.apache.jetspeed.om.folder.MenuOptionsDefinition newMenuOptionsDefinition()
Specified by:
newMenuOptionsDefinition in interface org.apache.jetspeed.om.folder.Folder

newMenuSeparatorDefinition

public org.apache.jetspeed.om.folder.MenuSeparatorDefinition newMenuSeparatorDefinition()
Specified by:
newMenuSeparatorDefinition in interface org.apache.jetspeed.om.folder.Folder

setMenuDefinitions

public void setMenuDefinitions(List definitions)
Specified by:
setMenuDefinitions in interface org.apache.jetspeed.om.folder.Folder

isReserved

public boolean isReserved()
Specified by:
isReserved in interface org.apache.jetspeed.om.folder.Folder

getReservedType

public int getReservedType()
Specified by:
getReservedType in interface org.apache.jetspeed.om.folder.Folder

getType

public String getType()
Specified by:
getType in interface org.apache.jetspeed.page.document.Node
Specified by:
getType in class NodeImpl

getFoldersNodeSet

private org.apache.jetspeed.page.document.NodeSet getFoldersNodeSet()
getFoldersNodeSet Latently create and access folders node set.

Returns:
folders node set

getPagesNodeSet

private org.apache.jetspeed.page.document.NodeSet getPagesNodeSet()
                                                           throws org.apache.jetspeed.page.document.NodeException
getPagesNodeSet Latently create and access pages node set.

Returns:
folders node set
Throws:
org.apache.jetspeed.page.document.NodeException

getLinksNodeSet

private org.apache.jetspeed.page.document.NodeSet getLinksNodeSet()
                                                           throws org.apache.jetspeed.page.document.NodeException
getLinksNodeSet Latently create and access links node set.

Returns:
folders node set
Throws:
org.apache.jetspeed.page.document.NodeException

getAllNodeSet

private org.apache.jetspeed.page.document.NodeSet getAllNodeSet()
getAllNodeSet Latently create and access all nodes node set.

Returns:
all nodes node set

filterNodeSetByAccess

static org.apache.jetspeed.page.document.NodeSet filterNodeSetByAccess(org.apache.jetspeed.page.document.NodeSet nodes)
filterNodeSetByAccess Filter node set elements for view access.

Parameters:
nodes - node set containing nodes to check
Returns:
checked subset of nodes

getPageManager

public org.apache.jetspeed.page.PageManager getPageManager()


Copyright © 1999-2007 Apache Software Foundation. All Rights Reserved.