org.apache.jetspeed.om.folder.proxy
Class FolderProxy

java.lang.Object
  extended by org.apache.jetspeed.portalsite.view.SiteViewProxy
      extended by org.apache.jetspeed.page.document.proxy.NodeProxy
          extended by org.apache.jetspeed.om.folder.proxy.FolderProxy
All Implemented Interfaces:
InvocationHandler

public class FolderProxy
extends NodeProxy
implements InvocationHandler

This class proxies PSML Folder instances to create a logical view of site content using the Dynamic Proxy pattern.

Version:
$Id: FolderProxy.java 553375 2007-07-05 05:37:00Z taylor $
Author:
Randy Watler

Nested Class Summary
private  class FolderProxy.SearchFolder
          SearchFolder - data object used hold concrete search folder and related search path profile locator name pairs
 
Field Summary
private  org.apache.jetspeed.page.document.NodeSet children
          children - aggregated proxy sub-folder, page, and link nodes
private  boolean childrenAggregated
          childrenAggregated - boolean flag to indicate children aggregated
private  org.apache.jetspeed.om.folder.Folder defaultFolder
          defaultFolder - default proxy delegate folder instance
private  org.apache.jetspeed.page.document.NodeSet folders
          folders - aggregated proxy sub-folder nodes
private  boolean foldersAggregated
          foldersAggregated - boolean flag to indicate folders aggregated
protected static Method GET_ALL_METHOD
          *_METHOD - Folder method constants
protected static Method GET_DEFAULT_PAGE_METHOD
           
protected static Method GET_FOLDER_METHOD
           
protected static Method GET_FOLDERS_METHOD
           
protected static Method GET_LINK_METHOD
           
protected static Method GET_LINKS_METHOD
           
protected static Method GET_MENU_DEFINITIONS_METHOD
           
protected static Method GET_METADATA_METHOD
           
protected static Method GET_NAME_METHOD
           
protected static Method GET_PAGE_METHOD
           
protected static Method GET_PAGE_SECURITY_METHOD
           
protected static Method GET_PAGES_METHOD
           
protected static Method GET_SHORT_TITLE_LOCALE_METHOD
           
protected static Method GET_SHORT_TITLE_METHOD
           
protected static Method GET_TITLE_LOCALE_METHOD
           
protected static Method GET_TITLE_METHOD
           
private  List inheritanceFolders
          inheritanceFolders - inheritance graph folder list in most to least specific order
private  org.apache.jetspeed.page.document.NodeSet links
          links - aggregated proxy link nodes
private  boolean linksAggregated
          linksAggregated - boolean flag to indicate links aggregated
private  org.apache.jetspeed.page.document.NodeSet pages
          pages - aggregated proxy page nodes
private  boolean pagesAggregated
          pagesAggregated - boolean flag to indicate pages aggregated
private  List searchFolders
          searchFolders - search folder objects along view search paths in most to least specific order
private  org.apache.jetspeed.om.folder.Folder titledFolder
          titledFolder - titled proxy delegate folder instance
 
Fields inherited from class org.apache.jetspeed.page.document.proxy.NodeProxy
EQUALS_METHOD, GET_PARENT_METHOD, GET_PATH_METHOD, GET_URL_METHOD, HASH_CODE_METHOD, IS_HIDDEN_METHOD, TO_STRING_METHOD
 
Constructor Summary
private FolderProxy(SiteView view, String locatorName, org.apache.jetspeed.om.folder.Folder parentFolder, org.apache.jetspeed.om.folder.Folder folder)
          FolderProxy - private constructor used by newInstance()
 
Method Summary
private  org.apache.jetspeed.page.document.NodeSet aggregateChildren(Object proxy)
          aggregateChildren - aggregate all children proxies in site view
protected  void aggregateMenuDefinitionLocators()
          aggregateMenuDefinitionLocators - aggregate all menu definition locators in site view for this folder or page
 org.apache.jetspeed.page.document.NodeSet getAll(Object proxy)
          getAll - proxy implementation of Folder.getAll()
 org.apache.jetspeed.om.folder.Folder getDefaultFolder()
          getDefaultFolder - get default proxy delegate folder instance
 String getDefaultPage(Object proxy)
          getDefaultPage - proxy implementation of Folder.getDefaultPage()
 org.apache.jetspeed.om.folder.Folder getFolder(Object proxy, String name)
          getFolder - proxy implementation of Folder.getFolder()
 org.apache.jetspeed.page.document.NodeSet getFolders(Object proxy)
          getFolders - proxy implementation of Folder.getFolders()
private  List getInheritanceFolders()
          getInheritanceFolders - aggregate all concrete inheritance folders in site view at this proxy folder view path
 org.apache.jetspeed.om.page.Link getLink(Object proxy, String name)
          getLink - proxy implementation of Folder.getLink()
 org.apache.jetspeed.page.document.NodeSet getLinks(Object proxy)
          getLinks - proxy implementation of Folder.getLinks()
 org.apache.jetspeed.om.common.GenericMetadata getMetadata()
          getMetadata - proxy implementation of Folder.getMetadata()
 String getName()
          getName - proxy implementation of Node.getName()
 org.apache.jetspeed.om.page.Page getPage(Object proxy, String name)
          getPage - proxy implementation of Folder.getPage()
 org.apache.jetspeed.page.document.NodeSet getPages(Object proxy)
          getPages - proxy implementation of Folder.getPages()
private  List getSearchFolders()
          getSearchFolders - aggregate all concrete folders in site view at this proxy folder view path
 String getShortTitle()
          getShortTitle - proxy implementation of Folder.getShortTitle()
 String getShortTitle(Locale locale)
          getShortTitle - proxy implementation of Folder.getShortTitle()
 String getTitle()
          getTitle - proxy implementation of Folder.getTitle()
 String getTitle(Locale locale)
          getTitle - proxy implementation of Folder.getTitle()
 Object invoke(Object proxy, Method m, Object[] args)
          invoke - method invocation dispatch for this proxy, (defaults to invocation of delegate unless method is implemented in this proxy handler or should be hidden/stubbed)
static org.apache.jetspeed.om.folder.Folder newInstance(SiteView view, String locatorName, org.apache.jetspeed.om.folder.Folder parentFolder, org.apache.jetspeed.om.folder.Folder folder)
          newInstance - creates a new proxy instance that implements the Folder interface
private  org.apache.jetspeed.om.folder.Folder selectDefaultFromAggregateFolders(org.apache.jetspeed.om.folder.Folder defaultFolder)
          selectDefaultFromAggregateFolders - select most appropriate aggregate concrete folder to use generally in site view at this proxy folder view path
private  String selectDefaultPageFromAggregateFolders(Object proxy)
          selectDefaultPageFromAggregateFolders - select most specific default page proxy to use in site view at this proxy folder view path
private  org.apache.jetspeed.om.folder.Folder selectTitledFromAggregateFolders(org.apache.jetspeed.om.folder.Folder defaultFolder)
          selectTitledFromAggregateFolders - select most appropriate aggregate concrete folder with a title to use in site view at this proxy folder view path
 
Methods inherited from class org.apache.jetspeed.page.document.proxy.NodeProxy
equals, getMenuDefinitionLocator, getMenuDefinitionLocators, getMenuDefinitions, getNodeProxy, getParent, getPath, getUrl, hashCode, isHidden, mergeMenuDefinitionLocators, mergeMenuDefinitionLocators, toString
 
Methods inherited from class org.apache.jetspeed.portalsite.view.SiteViewProxy
getLocatorName, getSiteViewProxy, getView, reflectMethod
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

GET_ALL_METHOD

protected static final Method GET_ALL_METHOD
*_METHOD - Folder method constants


GET_DEFAULT_PAGE_METHOD

protected static final Method GET_DEFAULT_PAGE_METHOD

GET_FOLDERS_METHOD

protected static final Method GET_FOLDERS_METHOD

GET_FOLDER_METHOD

protected static final Method GET_FOLDER_METHOD

GET_LINKS_METHOD

protected static final Method GET_LINKS_METHOD

GET_LINK_METHOD

protected static final Method GET_LINK_METHOD

GET_MENU_DEFINITIONS_METHOD

protected static final Method GET_MENU_DEFINITIONS_METHOD

GET_METADATA_METHOD

protected static final Method GET_METADATA_METHOD

GET_NAME_METHOD

protected static final Method GET_NAME_METHOD

GET_PAGES_METHOD

protected static final Method GET_PAGES_METHOD

GET_PAGE_METHOD

protected static final Method GET_PAGE_METHOD

GET_PAGE_SECURITY_METHOD

protected static final Method GET_PAGE_SECURITY_METHOD

GET_SHORT_TITLE_LOCALE_METHOD

protected static final Method GET_SHORT_TITLE_LOCALE_METHOD

GET_SHORT_TITLE_METHOD

protected static final Method GET_SHORT_TITLE_METHOD

GET_TITLE_LOCALE_METHOD

protected static final Method GET_TITLE_LOCALE_METHOD

GET_TITLE_METHOD

protected static final Method GET_TITLE_METHOD

defaultFolder

private org.apache.jetspeed.om.folder.Folder defaultFolder
defaultFolder - default proxy delegate folder instance


titledFolder

private org.apache.jetspeed.om.folder.Folder titledFolder
titledFolder - titled proxy delegate folder instance


children

private org.apache.jetspeed.page.document.NodeSet children
children - aggregated proxy sub-folder, page, and link nodes


childrenAggregated

private boolean childrenAggregated
childrenAggregated - boolean flag to indicate children aggregated


folders

private org.apache.jetspeed.page.document.NodeSet folders
folders - aggregated proxy sub-folder nodes


foldersAggregated

private boolean foldersAggregated
foldersAggregated - boolean flag to indicate folders aggregated


pages

private org.apache.jetspeed.page.document.NodeSet pages
pages - aggregated proxy page nodes


pagesAggregated

private boolean pagesAggregated
pagesAggregated - boolean flag to indicate pages aggregated


links

private org.apache.jetspeed.page.document.NodeSet links
links - aggregated proxy link nodes


linksAggregated

private boolean linksAggregated
linksAggregated - boolean flag to indicate links aggregated


searchFolders

private List searchFolders
searchFolders - search folder objects along view search paths in most to least specific order


inheritanceFolders

private List inheritanceFolders
inheritanceFolders - inheritance graph folder list in most to least specific order

Constructor Detail

FolderProxy

private FolderProxy(SiteView view,
                    String locatorName,
                    org.apache.jetspeed.om.folder.Folder parentFolder,
                    org.apache.jetspeed.om.folder.Folder folder)
FolderProxy - private constructor used by newInstance()

Parameters:
view - site view owner of this proxy
locatorName - name of profile locator associated with the proxy delegate
parentFolder - view parent proxy folder
folder - proxy delegate
Method Detail

newInstance

public static org.apache.jetspeed.om.folder.Folder newInstance(SiteView view,
                                                               String locatorName,
                                                               org.apache.jetspeed.om.folder.Folder parentFolder,
                                                               org.apache.jetspeed.om.folder.Folder folder)
newInstance - creates a new proxy instance that implements the Folder interface

Parameters:
view - site view owner of this proxy
locatorName - name of profile locator associated with the proxy delegate
parentFolder - view parent proxy folder
folder - proxy delegate

invoke

public Object invoke(Object proxy,
                     Method m,
                     Object[] args)
              throws Throwable
invoke - method invocation dispatch for this proxy, (defaults to invocation of delegate unless method is implemented in this proxy handler or should be hidden/stubbed)

Specified by:
invoke in interface InvocationHandler
Parameters:
proxy - instance invoked against
method - Folder interface method invoked
args - method arguments
Throws:
Throwable

getAll

public org.apache.jetspeed.page.document.NodeSet getAll(Object proxy)
                                                 throws org.apache.jetspeed.page.document.DocumentException
getAll - proxy implementation of Folder.getAll()

Parameters:
proxy - this folder proxy
Returns:
list containing sub-folders and documents in folder
Throws:
org.apache.jetspeed.page.document.DocumentException

getDefaultPage

public String getDefaultPage(Object proxy)
getDefaultPage - proxy implementation of Folder.getDefaultPage()

Parameters:
proxy - this folder proxy
Returns:
default page name

getFolders

public org.apache.jetspeed.page.document.NodeSet getFolders(Object proxy)
                                                     throws org.apache.jetspeed.page.document.DocumentException
getFolders - proxy implementation of Folder.getFolders()

Parameters:
proxy - this folder proxy
Returns:
list containing all sub-folders in folder
Throws:
org.apache.jetspeed.page.document.DocumentException

getFolder

public org.apache.jetspeed.om.folder.Folder getFolder(Object proxy,
                                                      String name)
                                               throws org.apache.jetspeed.om.folder.FolderNotFoundException,
                                                      org.apache.jetspeed.page.document.DocumentException
getFolder - proxy implementation of Folder.getFolder()

Parameters:
proxy - this folder proxy
name - sub-folder name
Returns:
sub-folder
Throws:
org.apache.jetspeed.om.folder.FolderNotFoundException
org.apache.jetspeed.page.document.DocumentException

getLinks

public org.apache.jetspeed.page.document.NodeSet getLinks(Object proxy)
                                                   throws org.apache.jetspeed.page.document.NodeException
getLinks - proxy implementation of Folder.getLinks()

Parameters:
proxy - this folder proxy
Returns:
list containing all links in folder
Throws:
org.apache.jetspeed.page.document.NodeException

getLink

public org.apache.jetspeed.om.page.Link getLink(Object proxy,
                                                String name)
                                         throws org.apache.jetspeed.page.document.DocumentNotFoundException,
                                                org.apache.jetspeed.page.document.NodeException
getLink - proxy implementation of Folder.getLink()

Parameters:
proxy - this folder proxy
name - link name including extension
Returns:
link
Throws:
org.apache.jetspeed.page.document.DocumentNotFoundException
org.apache.jetspeed.page.document.NodeException

getName

public String getName()
getName - proxy implementation of Node.getName()

Returns:
name of folder

getPages

public org.apache.jetspeed.page.document.NodeSet getPages(Object proxy)
                                                   throws org.apache.jetspeed.page.document.NodeException
getPages - proxy implementation of Folder.getPages()

Parameters:
proxy - this folder proxy
Returns:
list containing all pages in folder
Throws:
org.apache.jetspeed.page.document.NodeException

getPage

public org.apache.jetspeed.om.page.Page getPage(Object proxy,
                                                String name)
                                         throws org.apache.jetspeed.page.PageNotFoundException,
                                                org.apache.jetspeed.page.document.NodeException
getPage - proxy implementation of Folder.getPage()

Parameters:
proxy - this folder proxy
name - page name including extension
Returns:
page
Throws:
org.apache.jetspeed.page.PageNotFoundException
org.apache.jetspeed.page.document.NodeException

getMetadata

public org.apache.jetspeed.om.common.GenericMetadata getMetadata()
getMetadata - proxy implementation of Folder.getMetadata()

Returns:
metadata

getTitle

public String getTitle()
getTitle - proxy implementation of Folder.getTitle()

Returns:
default title

getShortTitle

public String getShortTitle()
getShortTitle - proxy implementation of Folder.getShortTitle()

Returns:
default short title

getTitle

public String getTitle(Locale locale)
getTitle - proxy implementation of Folder.getTitle()

Parameters:
locale - preferred locale
Returns:
title

getShortTitle

public String getShortTitle(Locale locale)
getShortTitle - proxy implementation of Folder.getShortTitle()

Parameters:
locale - preferred locale
Returns:
short title

getDefaultFolder

public org.apache.jetspeed.om.folder.Folder getDefaultFolder()
getDefaultFolder - get default proxy delegate folder instance

Returns:
default delegate folder

aggregateMenuDefinitionLocators

protected void aggregateMenuDefinitionLocators()
aggregateMenuDefinitionLocators - aggregate all menu definition locators in site view for this folder or page

Overrides:
aggregateMenuDefinitionLocators in class NodeProxy

selectDefaultFromAggregateFolders

private org.apache.jetspeed.om.folder.Folder selectDefaultFromAggregateFolders(org.apache.jetspeed.om.folder.Folder defaultFolder)
selectDefaultFromAggregateFolders - select most appropriate aggregate concrete folder to use generally in site view at this proxy folder view path

Parameters:
defaultFolder - default concrete folder
Returns:
selected concrete folder

selectTitledFromAggregateFolders

private org.apache.jetspeed.om.folder.Folder selectTitledFromAggregateFolders(org.apache.jetspeed.om.folder.Folder defaultFolder)
selectTitledFromAggregateFolders - select most appropriate aggregate concrete folder with a title to use in site view at this proxy folder view path

Parameters:
defaultFolder - default concrete folder
Returns:
selected concrete folder

selectDefaultPageFromAggregateFolders

private String selectDefaultPageFromAggregateFolders(Object proxy)
selectDefaultPageFromAggregateFolders - select most specific default page proxy to use in site view at this proxy folder view path

Parameters:
proxy - this folder proxy
Returns:
selected default page name

aggregateChildren

private org.apache.jetspeed.page.document.NodeSet aggregateChildren(Object proxy)
aggregateChildren - aggregate all children proxies in site view

Parameters:
proxy - this folder proxy
Returns:
list containing sub-folders, pages, and links in folder view

getSearchFolders

private List getSearchFolders()
                       throws org.apache.jetspeed.om.folder.FolderNotFoundException
getSearchFolders - aggregate all concrete folders in site view at this proxy folder view path

Returns:
list containing concrete search folders in folder view
Throws:
org.apache.jetspeed.om.folder.FolderNotFoundException

getInheritanceFolders

private List getInheritanceFolders()
                            throws org.apache.jetspeed.om.folder.FolderNotFoundException
getInheritanceFolders - aggregate all concrete inheritance folders in site view at this proxy folder view path

Returns:
list containing concrete inheritance folders in folder view
Throws:
org.apache.jetspeed.om.folder.FolderNotFoundException


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