com.sapportals.wcm.repository.service.layout.info

Class RenderObjectContainer

java.lang.Object
  extended bycom.sapportals.wcm.repository.service.layout.info.RenderObjectContainer

public final class RenderObjectContainer
extends Object

acts as a container keeping a map of IRenderObjectInfo instances. If the info for the requested RenderObjectKey does not exist, it will be created, added to the map and returned to the calling class. If the info for the requested key has already been created, the existing info will be returned. The calling class is then free to modify the data of this info. This ensures that throughout the rendering process all information suppliers for a certan rendering object combine their information in a single IRenderObjectInfo.
This class should only be constructed by the IRenderingContainer which will return this instance to calling classes via its getRenderObjectContainer method.


Constructor Summary
RenderObjectContainer(IResourceContext context)
          creates a new, empty container.
 
Method Summary
 RID getMainRID()
           
 IRenderObjectInfo getRenderObject(RenderObjectKey key)
          returns the IRenderObjectInfo that is mapped to the supplied key parameter.
 RenderObjectInfoList getRenderObjects(IRenderObjectInfo.RenderObjectCategory category)
           
 Status getStatus()
           
 Set keys()
           
 void setMainRID(RID rid)
           
 int size()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RenderObjectContainer

public RenderObjectContainer(IResourceContext context)
creates a new, empty container.

Method Detail

setMainRID

public void setMainRID(RID rid)
Parameters:
rid - the accessrid of the current ICollection that is viewed here.

getMainRID

public RID getMainRID()
Returns:
the accessrid of the ICollection that was viewed. Might be null, if e.g. a ITypedResourceList is viewed

size

public int size()
Returns:
the number of IRenderObjectInfo elements that are stored within this container.

getStatus

public Status getStatus()

keys

public Set keys()
Returns:
a copied Set of the internally hold set of RenderObjectKey instances. If no entries have been created within this container, this method will return a set with Set.size() == 0, but never null.

getRenderObject

public IRenderObjectInfo getRenderObject(RenderObjectKey key)
returns the IRenderObjectInfo that is mapped to the supplied key parameter. If it is the first request for this key, a new IRenderObjectInfo will be created by this container. The supplied key will be used as the RenderObjectKey attribute of this new object. Each following request will receive the same instance of the IRenderObjectInfo that was created for the first call.

Parameters:
key -
Returns:

getRenderObjects

public RenderObjectInfoList getRenderObjects(IRenderObjectInfo.RenderObjectCategory category)
Parameters:
category - the category to retrieve objects for, must not be null
Returns:
a list containing only IRenderObject instances that have the specified category in their RenderObjectKey. If no IRenderObject has been defined for this category, an empty list will be returned, but never null. For each call, a new List instance will be created.


Copyright 2006 SAP AG. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. Oracle is a registered trademark of Oracle Corporation. UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group. Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc. HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C, World Wide Web Consortium, Massachusetts Institute of Technology. Java is a registered trademark of Sun Microsystems, Inc. JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. MaxDB is a trademark of MySQL AB, Sweden. SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary. These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.