uPortal 2.4.1
API Documentation

org.jasig.portal.layout
Interface IUserLayoutManager

All Known Subinterfaces:
IAggregatedUserLayoutManager
All Known Implementing Classes:
AggregatedLayoutManager, ImmutableUserLayoutManagerWrapper, SimpleUserLayoutManager, TransientUserLayoutManagerWrapper

public interface IUserLayoutManager

An interface for abstracting operations performed on the user layout.

Version:
1.1
Author:
Peter Kharchenko, Michael Ivanov

Method Summary
 boolean addLayoutEventListener(LayoutEventListener l)
          Register a layout event listener
 IUserLayoutNodeDescription addNode(IUserLayoutNodeDescription node, java.lang.String parentId, java.lang.String nextSiblingId)
          Add a new node to a current user layout.
 boolean canAddNode(IUserLayoutNodeDescription node, java.lang.String parentId, java.lang.String nextSiblingId)
          Test if a particular node can be added at a given location.
 boolean canDeleteNode(java.lang.String nodeId)
          Tests if a particular node can be deleted.
 boolean canMoveNode(java.lang.String nodeId, java.lang.String parentId, java.lang.String nextSiblingId)
          Test if a particular node can be moved to a given location.
 boolean canUpdateNode(IUserLayoutNodeDescription node)
          Test if a certain node can be updated.
 IUserLayoutNodeDescription createNodeDescription(int nodeType)
          A factory method to create an empty IUserLayoutNodeDescription instance
 boolean deleteNode(java.lang.String nodeId)
          Delete a node (folder or a channel) from a user layout.
 java.lang.String getCacheKey()
          Return a cache key, uniqly corresponding to the composition and the structure of the user layout.
 java.util.Enumeration getChildIds(java.lang.String nodeId)
          Returns a list of child node Ids for a given node.
 int getDepth(java.lang.String nodeId)
          Returns the depth of a node in the layout tree.
 int getLayoutId()
          Returns a layout Id associated with this manager/
 java.lang.String getNextSiblingId(java.lang.String nodeId)
          Determine an Id of a next sibling node.
 IUserLayoutNodeDescription getNode(java.lang.String nodeId)
          Obtain a description of a node (channel or a folder) in a given user layout.
 java.lang.String getParentId(java.lang.String nodeId)
          Returns an Id of a parent user layout node.
 java.lang.String getPreviousSiblingId(java.lang.String nodeId)
          Determine an Id of a previous sibling node.
 java.lang.String getRootFolderId()
          Returns an id of the root folder.
 java.lang.String getSubscribeId(java.lang.String fname)
          Returns a subscription id using the supplied functional name.
 IUserLayout getUserLayout()
          Gets a user layout (with appropriate markings).
 void getUserLayout(org.xml.sax.ContentHandler ch)
          Output user layout (with appropriate markings) into a ContentHandler
 void getUserLayout(java.lang.String nodeId, org.xml.sax.ContentHandler ch)
          Output subtree of a user layout (with appropriate markings) defined by a particular node into a ContentHandler
 org.w3c.dom.Document getUserLayoutDOM()
           
 void loadUserLayout()
          Signal manager to load a user layout from a database
 void markAddTargets(IUserLayoutNodeDescription node)
          Ask manager to output markings at the locations where a given node can be added.
 void markMoveTargets(java.lang.String nodeId)
          Ask manager to output markings at the locations where a given node can be moved.
 boolean moveNode(java.lang.String nodeId, java.lang.String parentId, java.lang.String nextSiblingId)
          Move a node (channel or folder) from one location to another.
 boolean removeLayoutEventListener(LayoutEventListener l)
          Remove a registered layout event listener.
 void saveUserLayout()
          Signal manager to persist user layout to a database
 void setLayoutStore(IUserLayoutStore ls)
          Set a user layout store implementation.
 void setUserLayout(IUserLayout userLayout)
          Sets a user layout (with appropriate markings).
 boolean updateNode(IUserLayoutNodeDescription node)
          Update a given node.
 

Method Detail

getUserLayout

public IUserLayout getUserLayout()
                          throws PortalException
Gets a user layout (with appropriate markings).

Returns:
the user layout
Throws:
PortalException - if an error occurs

setUserLayout

public void setUserLayout(IUserLayout userLayout)
                   throws PortalException
Sets a user layout (with appropriate markings).

Parameters:
userLayout - the user layout
Throws:
PortalException - if an error occurs

getUserLayout

public void getUserLayout(org.xml.sax.ContentHandler ch)
                   throws PortalException
Output user layout (with appropriate markings) into a ContentHandler

Parameters:
ch - a ContentHandler value
Throws:
PortalException - if an error occurs

getUserLayout

public void getUserLayout(java.lang.String nodeId,
                          org.xml.sax.ContentHandler ch)
                   throws PortalException
Output subtree of a user layout (with appropriate markings) defined by a particular node into a ContentHandler

Parameters:
nodeId - a String a node determining a user layout subtree.
ch - a ContentHandler value
Throws:
PortalException - if an error occurs

setLayoutStore

public void setLayoutStore(IUserLayoutStore ls)
Set a user layout store implementation.

Parameters:
ls - an IUserLayoutStore value

loadUserLayout

public void loadUserLayout()
                    throws PortalException
Signal manager to load a user layout from a database

Throws:
PortalException - if an error occurs

saveUserLayout

public void saveUserLayout()
                    throws PortalException
Signal manager to persist user layout to a database

Throws:
PortalException - if an error occurs

getNode

public IUserLayoutNodeDescription getNode(java.lang.String nodeId)
                                   throws PortalException
Obtain a description of a node (channel or a folder) in a given user layout.

Parameters:
nodeId - a String channel subscribe id or folder id.
Returns:
an UserLayoutNodeDescription value
Throws:
PortalException - if an error occurs

addNode

public IUserLayoutNodeDescription addNode(IUserLayoutNodeDescription node,
                                          java.lang.String parentId,
                                          java.lang.String nextSiblingId)
                                   throws PortalException
Add a new node to a current user layout.

Parameters:
node - an UserLayoutNodeDescription value of a node to be added (Id doesn't have to be set)
parentId - a String id of a folder to which the new node (channel or folder) should be added.
nextSiblingId - a String an id of a sibling node (channel or folder) prior to which the new node should be inserted.
Returns:
an UserLayoutNodeDescription value with a newly determined Id.
Throws:
PortalException - if an error occurs

moveNode

public boolean moveNode(java.lang.String nodeId,
                        java.lang.String parentId,
                        java.lang.String nextSiblingId)
                 throws PortalException
Move a node (channel or folder) from one location to another.

Parameters:
nodeId - a String value of a node Id.
parentId - a String id of a folder to which the node should be moved.
nextSiblingId - a String id of a sibling node (folder or channel) prior to which the node should be placed. (null to append at the end)
Returns:
a boolean value noting if the operation was successful
Throws:
PortalException - if an error occurs

deleteNode

public boolean deleteNode(java.lang.String nodeId)
                   throws PortalException
Delete a node (folder or a channel) from a user layout.

Parameters:
nodeId - a String id (channel subscribe id or folder id)
Returns:
a boolean value noting if the operation was successful
Throws:
PortalException - if an error occurs

updateNode

public boolean updateNode(IUserLayoutNodeDescription node)
                   throws PortalException
Update a given node.

Parameters:
node - an UserLayoutNodeDescription value with a valid id.
Returns:
a boolean value noting if the operation was successful
Throws:
PortalException - if an error occurs

canAddNode

public boolean canAddNode(IUserLayoutNodeDescription node,
                          java.lang.String parentId,
                          java.lang.String nextSiblingId)
                   throws PortalException
Test if a particular node can be added at a given location.

Parameters:
node - an UserLayoutNodeDescription value describing the node to be added.
parentId - a String id of a parent to which the node to be added.
nextSiblingId - a String id of a sibling prior to which the node to be inserted. (null to append at the end)
Returns:
a boolean value
Throws:
PortalException - if an error occurs

canMoveNode

public boolean canMoveNode(java.lang.String nodeId,
                           java.lang.String parentId,
                           java.lang.String nextSiblingId)
                    throws PortalException
Test if a particular node can be moved to a given location.

Parameters:
nodeId - a String id of a node to be moved.
parentId - a String id of a parent to which the node to be moved.
nextSiblingId - a String id of a sibling prior to which the node is to be inserted (null to append at the end)
Returns:
a boolean value
Throws:
PortalException - if an error occurs

canDeleteNode

public boolean canDeleteNode(java.lang.String nodeId)
                      throws PortalException
Tests if a particular node can be deleted.

Parameters:
nodeId - a String node id.
Returns:
a boolean value
Throws:
PortalException - if an error occurs

canUpdateNode

public boolean canUpdateNode(IUserLayoutNodeDescription node)
                      throws PortalException
Test if a certain node can be updated.

Parameters:
node - a IUserLayoutNodeDescription node id.
Returns:
a boolean value
Throws:
PortalException - if an error occurs

markAddTargets

public void markAddTargets(IUserLayoutNodeDescription node)
                    throws PortalException
Ask manager to output markings at the locations where a given node can be added. The marks will appear next time getUserLayout method is called.

Parameters:
node - an UserLayoutNodeDescription value or null to stop outputting add markings.
Throws:
PortalException - if an error occurs

markMoveTargets

public void markMoveTargets(java.lang.String nodeId)
                     throws PortalException
Ask manager to output markings at the locations where a given node can be moved. The marks will appear next time getUserLayout method is called.

Parameters:
nodeId - a String value or null to stop outputting move markings.
Throws:
PortalException - if an error occurs

getParentId

public java.lang.String getParentId(java.lang.String nodeId)
                             throws PortalException
Returns an Id of a parent user layout node. The user layout root node always has ID="root"

Parameters:
nodeId - a String value
Returns:
a String value
Throws:
PortalException - if an error occurs

getChildIds

public java.util.Enumeration getChildIds(java.lang.String nodeId)
                                  throws PortalException
Returns a list of child node Ids for a given node.

Parameters:
nodeId - a String value
Returns:
a List of String child node Ids.
Throws:
PortalException - if an error occurs

getNextSiblingId

public java.lang.String getNextSiblingId(java.lang.String nodeId)
                                  throws PortalException
Determine an Id of a next sibling node.

Parameters:
nodeId - a String value
Returns:
a String Id value of a next sibling node, or null if this is the last sibling.
Throws:
PortalException - if an error occurs

getPreviousSiblingId

public java.lang.String getPreviousSiblingId(java.lang.String nodeId)
                                      throws PortalException
Determine an Id of a previous sibling node.

Parameters:
nodeId - a String value
Returns:
a String Id value of a previous sibling node, or null if this is the first sibling.
Throws:
PortalException - if an error occurs

getCacheKey

public java.lang.String getCacheKey()
                             throws PortalException
Return a cache key, uniqly corresponding to the composition and the structure of the user layout.

Returns:
a String value
Throws:
PortalException - if an error occurs

addLayoutEventListener

public boolean addLayoutEventListener(LayoutEventListener l)
Register a layout event listener

Parameters:
l - a LayoutEventListener object
Returns:
a boolean success status

removeLayoutEventListener

public boolean removeLayoutEventListener(LayoutEventListener l)
Remove a registered layout event listener.

Parameters:
l - a LayoutEventListener object
Returns:
a boolean success status

getUserLayoutDOM

public org.w3c.dom.Document getUserLayoutDOM()
                                      throws PortalException
Throws:
PortalException

getLayoutId

public int getLayoutId()
Returns a layout Id associated with this manager/

Returns:
an int layout Id value;

getSubscribeId

public java.lang.String getSubscribeId(java.lang.String fname)
                                throws PortalException
Returns a subscription id using the supplied functional name.

Parameters:
fname - the functional name to lookup
Returns:
a String subscription id
Throws:
PortalException

getRootFolderId

public java.lang.String getRootFolderId()
Returns an id of the root folder.

Returns:
a String value

getDepth

public int getDepth(java.lang.String nodeId)
             throws PortalException
Returns the depth of a node in the layout tree.

Parameters:
nodeId - a String value
Returns:
a depth value
Throws:
PortalException - if an error occurs

createNodeDescription

public IUserLayoutNodeDescription createNodeDescription(int nodeType)
                                                 throws PortalException
A factory method to create an empty IUserLayoutNodeDescription instance

Parameters:
nodeType - a node type constant from IUserLayoutNodeDescription interface
Returns:
an IUserLayoutNodeDescription instance
Throws:
PortalException - if the error occurs.

uPortal 2.4.1
API Documentation