ChainedHandleElement Class Reference

#include <coherence/lang/ChainedHandleElement.hpp>

Inherited by TypedHandle, TypedHandle< coherence::security::auth::Subject >, and TypedHolder.

List of all members.


Detailed Description

The base class for TypedHandles, allowing for reference chaining. Reference chaining is not thread-safe and thus may only be used for handles which are not shared across threads.

Author:
mf 2008.10.20

Protected Types

enum  Action
 Action to take on unlinking.

Protected Member Functions

 ChainedHandleElement (bool fView)
 Create an independent element.
 ChainedHandleElement (const ChainedHandleElement &that, bool fView)
 Create a dependent element, adding it to a chain.
 ChainedHandleElement (const ChainedHandleElement *that, bool fView)
 Create an optionally dependent element.
Action unlink ()
 No destructor, derived class must perform unlink and take resulting action.
Action link (const ChainedHandleElement &that)
 Link this element to a new chain.
bool scan ()
 Scan the chain for additional handles.

Protected Attributes

ChainedHandleElement
const * 
m_prev
 The previous element in the chain.
ChainedHandleElement
const * 
m_next
 The next element in the chain.
bool m_fView
 Flag indicating if the associated handle is a view.

Member Function Documentation

Action unlink (  )  [inline, protected]

No destructor, derived class must perform unlink and take resulting action.

Unlink this element from the chain.

Returns:
the action to be taken

Action link ( const ChainedHandleElement that  )  [inline, protected]

Link this element to a new chain.

Returns:
the action to be taken

bool scan (  )  [inline, protected]

Scan the chain for additional handles.

The caller must be a handle, and have found views on both sides.

Returns:
true if this is the only handle in the chain


The documentation for this class was generated from the following file: Copyright (c) 2000, 2009, Oracle and/or its affiliates. All rights reserved.