SAP NetWeaver '04

com.sap.netweaver.bc.rf.util.context
Class ContextStack

[contained in: com.sap.netweaver.bc.rf.par - bc.rf.util_api.jar]
java.lang.Object
  |
  +--com.sap.netweaver.bc.rf.util.context.ContextStack
All Implemented Interfaces:
IContextStack

public class ContextStack
extends java.lang.Object
implements IContextStack

Class holding a stack of context objects. This stack shall be used by context factories to store multiple stacked contexts within each thread. When no (more) context is available, a ContextUnavailableException is thrown.


Field Summary
protected  java.util.ArrayList contexts
           
protected  int contextsIndex
           
 
Constructor Summary
ContextStack()
           
 
Method Summary
 java.lang.Object getTypeUnsafeContext()
          Get actual context from stack of contexts.
 java.lang.Object getTypeUnsafeContextOrNullIfUnavailable()
          Get actual context from stack of contexts.
 boolean isAvailable()
          Checks if there is at least one actual context stacked.
 java.lang.Object popTypeUnsafeContext()
          Get and remove actual context from the stack of contexts.
 void pushTypeUnsafeContext(java.lang.Object context)
          Add new context to the top of the stack of contexts.
 void setTypeUnsafeContext(java.lang.Object context)
          Replace actual context with new one in stack of contexts.
 int size()
          Get the number of context entries in the stack of contexts.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

contexts

protected java.util.ArrayList contexts

contextsIndex

protected int contextsIndex
Constructor Detail

ContextStack

public ContextStack()
Method Detail

isAvailable

public boolean isAvailable()
Checks if there is at least one actual context stacked.
Specified by:
isAvailable in interface IContextStack
Returns:
flag indicating whether there is at least one actual context stacked

size

public int size()
Get the number of context entries in the stack of contexts.
Specified by:
size in interface IContextStack
Returns:
number of context entries in the stack of contexts

getTypeUnsafeContext

public java.lang.Object getTypeUnsafeContext()
                                      throws ContextUnavailableException
Get actual context from stack of contexts.
Specified by:
getTypeUnsafeContext in interface IContextStack
Returns:
actual context on the context stack
Throws:
ContextUnavailableException - when no (more) context is available on the context stack

getTypeUnsafeContextOrNullIfUnavailable

public java.lang.Object getTypeUnsafeContextOrNullIfUnavailable()
Get actual context from stack of contexts. Return null if none is availble and don't throw a ContextUnavailableException.
Specified by:
getTypeUnsafeContextOrNullIfUnavailable in interface IContextStack
Returns:
actual context on the context stack

setTypeUnsafeContext

public void setTypeUnsafeContext(java.lang.Object context)
Replace actual context with new one in stack of contexts. If no context is stored, this one will be added.
Specified by:
setTypeUnsafeContext in interface IContextStack
Parameters:
context - new actual context replacing the old one on the stack

popTypeUnsafeContext

public java.lang.Object popTypeUnsafeContext()
                                      throws ContextUnavailableException
Get and remove actual context from the stack of contexts.
Specified by:
popTypeUnsafeContext in interface IContextStack
Returns:
last actual context on the context stack
Throws:
ContextUnavailableException - when no (more) context is available on the context stack

pushTypeUnsafeContext

public void pushTypeUnsafeContext(java.lang.Object context)
Add new context to the top of the stack of contexts.
Specified by:
pushTypeUnsafeContext in interface IContextStack
Parameters:
context - new actual context

SAP NetWeaver '04

Copyright © 2004 by SAP AG. All Rights Reserved.
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.