com.pcbsys.nirvana.client.com.pcbsys.nirvana.client.nChannelAttributes Class Reference

This class is a container for the attributes necessary to create or locate a Nirvana channel or queue. More...


Public Member Functions

bool Equals (long aLong)
 For Internal Use Only (Supporting automatic sorting in supporting data structures.
bool Equals (object obj)
 For Internal Use Only (Supporting automatic sorting in supporting data structures.
int getChannelMode ()
 Returns the either channel (CHANNEL_MODE) or queue (QUEUE_MODE).
string getFullName ()
 Gets the full name of a channel, including the realm path if set.
int getMaxEvents ()
 Gets the maximum number of events the channel can contain.
string getName ()
 Gets the channel name.
nStoreProperties getProperties ()
 Returns the nStoreProperties objec.
nChannelPublishKeys[] getPublishKeys ()
 Gets the channel keys for this channel.
nRealm getRealm ()
 Gets the realm this channel exists within.
long getTTL ()
 Gets the Time To Live (TTL) value that will be applied to each event contained in the channel.
int getType ()
 Gets the channel type, which will be equal to one of :
                 nChanneAttributes.MIXED_TYPE 
                 nChanneAttributes.SIMPLE_TYPE
                 nChanneAttributes.PERSISTENT_TYPE 
                 nChanneAttributes.RELIABLE_TYPE 
                 nChanneAttributes.TRANSIENT_TYPE 
.
long getUniqueId ()
 Gets the Unique ID value for the channel.
bool isClusterWide ()
 Is this channel cluster wide.
bool isExternal ()
 Gets the isExternal flag to find out if the channel is marked as external.
bool isJMSEngine ()
 Specifies whether this channel will use the JMS Style fanout engine.
bool isMergeEngine ()
 Specifies whether this channel will use the Merge and Update Style fanout engine.
bool lessThan (long aLong)
 For Internal Use Only (Supporting automatic sorting in supporting data structures.
bool lessThan (object obj)
 For Internal Use Only (Supporting automatic sorting in supporting data structures.
 nChannelAttributes (string _name, int _maxEvents, long _ttl, int _type, nRealm _realm)
 Constructs a nChannelAttributes object with the values specified.
 nChannelAttributes (string _name, int _maxEvents, long _ttl, int _type)
 Constructs a nChannelAttributes object with the values specified.
 nChannelAttributes (string name)
 Takes a channel or queue name.
 nChannelAttributes ()
 Default constructor.
void setChannelMode (int mode)
 Sets the channel mode as either a queue or a channel.
void setClusterWide (bool flag)
 Specifies whether this channel is a cluster channel, where it will exist in all member nodes within the cluster.
void setDeadEventHandler (nAbstractChannel store)
 Set the dead event handler store for this channel / queue.
void setMaxEvents (int value)
 Sets the maximum number of events the channel can contain.
void setName (string channelName)
 Set the channel name for this channel attribute object.
void setPublishKeys (nChannelPublishKeys[] keys)
 Sets the channel keys for this channel.
void setRealm (nRealm _realm)
 Sets the realm the channel exists within, marking the channel as external.
void setTTL (long value)
 Sets the Time To Live (TTL) value for each event contained in the channel.
void setType (int aType)
 Sets the type of channel.
void setUniqueId (long id)
 Sets the Unique ID value for the channel.
void useJMSEngine (bool useJMSEngine)
 Sets whether to use the JMS style fanout engine.
void useMergeEngine (bool useMergeEngine)
 Sets whether to use the Merge fanout engine.

Data Fields

const int CHANNEL_MODE = com.pcbsys.nirvana.nbase.nConstants.CHAN_MODE_NORMAL
 Specifies a channel (or topic) mode for the pub/sub model.
const int MIXED_TYPE = com.pcbsys.nirvana.nbase.nConstants.CHAN_MIXED
 Specifies a mixed (persistence and ttl set on a per event basis) channel type.
const int PERSISTENT_TYPE = com.pcbsys.nirvana.nbase.nConstants.CHAN_PERSISTENT
 Specifies a persistent (on disk) channel type.
const int QUEUE_MODE = com.pcbsys.nirvana.nbase.nConstants.CHAN_MODE_QUEUE
 Specifies a queue (point 2 point) mode for the queue model.
const int RELIABLE_TYPE = com.pcbsys.nirvana.nbase.nConstants.CHAN_RELIABLE
 Specifies a reliable (in memory but with EIDs retained) channel type.
const long sAllowFullAccess = 8
 Allow everyone to do everything on the channel / queue (Use with extreme caution since it bypasses any security checks for this channel / queue ).
const long sAllowLastEIDAccess = 512
 Get the last known Event ID on the channel / queue.
const long sAllowManageACLAccess = 2 + 1
 Allow everyone to add / remove acl entries on the channel / queue.
const long sAllowNamedAccess = 2048
 Allow everyone to create a named object on this channel.
const long sAllowPublishAccess = 32
 Allow everyone to write events to the channel / queue.
const long sAllowPurgeAccess = 128
 Allow everyone to purge events from the channel ( Only valid on channels ).
const long sAllowQueuePopAccess = 1024
 Allow everyone to pop events from the queue, (Only valid on Queues).
const long sAllowReadACLAccess = 4
 Allow everyone to read the ACL lists.
const long sAllowSubscribeAccess = 64
 Allow everyone to subscribe to the channel ( Only valid on channels ).
const int SIMPLE_TYPE = com.pcbsys.nirvana.nbase.nConstants.CHAN_SIMPLE
 Specifies a simple (in memory, no EIDs retained) channel type.
const int TRANSIENT_TYPE = com.pcbsys.nirvana.nbase.nConstants.CHAN_TRANSIENT
 Specifies a relay (no events are stored) channel type.

Protected Member Functions

internal nChannelAttributes (com.pcbsys.nirvana.nbase.nChannelAttributes attr)
 Constructs from the base attribute class.

Detailed Description

This class is a container for the attributes necessary to create or locate a Nirvana channel or queue.

Constructor & Destructor Documentation

com.pcbsys.nirvana.client.com.pcbsys.nirvana.client.nChannelAttributes.nChannelAttributes ( string  name  ) 

Takes a channel or queue name.

Parameters:
name name of the channel

internal com.pcbsys.nirvana.client.com.pcbsys.nirvana.client.nChannelAttributes.nChannelAttributes ( com.pcbsys.nirvana.nbase.nChannelAttributes  attr  )  [protected]

Constructs from the base attribute class.

Parameters:
attr Base class used to construct this class

com.pcbsys.nirvana.client.com.pcbsys.nirvana.client.nChannelAttributes.nChannelAttributes ( string  _name,
int  _maxEvents,
long  _ttl,
int  _type 
)

Constructs a nChannelAttributes object with the values specified.

Parameters:
_name A string specifying the channel name
_maxEvents An int specifying the maximum number of events this channel can contain (i.e. the capacity)
_ttl An int specifying the Time To Live (TTL) for events published in this channel (i.e. the age)
_type An int specifying the channel type. Valid values are nConstants.CHAN_RELIABLE or nConstants.CHAN_PERSISTENT
Exceptions:
nIllegalArgumentException is thrown if an incorrect parameter is passed to the constructor

com.pcbsys.nirvana.client.com.pcbsys.nirvana.client.nChannelAttributes.nChannelAttributes ( string  _name,
int  _maxEvents,
long  _ttl,
int  _type,
nRealm  _realm 
)

Constructs a nChannelAttributes object with the values specified.

Parameters:
_name A string specifying the channel name
_maxEvents An int specifying the maximum number of events this channel can contain (i.e. the capacity)
_ttl An int specifying the Time To Live (TTL) for events published in this channel (i.e. the age)
_type An int specifying the channel type. Valid values are nConstants.CHAN_RELIABLE or nConstants.CHAN_PERSISTENT
_realm A nRealm object specifying the realm this channel exists within
Exceptions:
nIllegalArgumentException is thrown if an incorrect parameter is passed to the constructor


Member Function Documentation

int com.pcbsys.nirvana.client.com.pcbsys.nirvana.client.nChannelAttributes.getChannelMode (  ) 

Returns the either channel (CHANNEL_MODE) or queue (QUEUE_MODE).

Returns:
the channel mode specified in this channel attributes

string com.pcbsys.nirvana.client.com.pcbsys.nirvana.client.nChannelAttributes.getFullName (  ) 

Gets the full name of a channel, including the realm path if set.

Returns:
A string specifying the full name of a channel.
Exceptions:
nBaseClientException is thrown if the name value is not set

int com.pcbsys.nirvana.client.com.pcbsys.nirvana.client.nChannelAttributes.getMaxEvents (  ) 

Gets the maximum number of events the channel can contain.

(i.e. the capacity)

Returns:
An int specifying the maximum number of events this channel can currently contain (i.e. the current capacity)

string com.pcbsys.nirvana.client.com.pcbsys.nirvana.client.nChannelAttributes.getName (  ) 

Gets the channel name.

Returns:
A string specifying the name value of the channel

nChannelPublishKeys [] com.pcbsys.nirvana.client.com.pcbsys.nirvana.client.nChannelAttributes.getPublishKeys (  ) 

Gets the channel keys for this channel.

Returns:
nChannelPublishKeys[] The currently configured publish keys for this channel

nRealm com.pcbsys.nirvana.client.com.pcbsys.nirvana.client.nChannelAttributes.getRealm (  ) 

Gets the realm this channel exists within.

Returns:
an nRealm object specifying the realm this channel exists within within the realm you have a session to and use this object.

long com.pcbsys.nirvana.client.com.pcbsys.nirvana.client.nChannelAttributes.getTTL (  ) 

Gets the Time To Live (TTL) value that will be applied to each event contained in the channel.

Returns:
A long specifying the current TTL value setting for the channel

int com.pcbsys.nirvana.client.com.pcbsys.nirvana.client.nChannelAttributes.getType (  ) 

Gets the channel type, which will be equal to one of :

                 nChanneAttributes.MIXED_TYPE 
                 nChanneAttributes.SIMPLE_TYPE
                 nChanneAttributes.PERSISTENT_TYPE 
                 nChanneAttributes.RELIABLE_TYPE 
                 nChanneAttributes.TRANSIENT_TYPE 
.

Returns:
an int specifying the channel's type

long com.pcbsys.nirvana.client.com.pcbsys.nirvana.client.nChannelAttributes.getUniqueId (  ) 

Gets the Unique ID value for the channel.

Returns:
A long specifying the current Unique ID value for the channel

bool com.pcbsys.nirvana.client.com.pcbsys.nirvana.client.nChannelAttributes.isClusterWide (  ) 

Is this channel cluster wide.

Returns:
if this channel is cluster wide

bool com.pcbsys.nirvana.client.com.pcbsys.nirvana.client.nChannelAttributes.isExternal (  ) 

Gets the isExternal flag to find out if the channel is marked as external.

Returns:
A bool specifying whether this channel is external or not

bool com.pcbsys.nirvana.client.com.pcbsys.nirvana.client.nChannelAttributes.isJMSEngine (  ) 

Specifies whether this channel will use the JMS Style fanout engine.

For more information on this, please see the version 4.0 documentation.

Returns:
whether events are delivered via the JMS fanout engine.

bool com.pcbsys.nirvana.client.com.pcbsys.nirvana.client.nChannelAttributes.isMergeEngine (  ) 

Specifies whether this channel will use the Merge and Update Style fanout engine.

For more information on this, please see the version 5.0 documentation.

Returns:
whether events are delivered via the Merge and update fanout engine.

void com.pcbsys.nirvana.client.com.pcbsys.nirvana.client.nChannelAttributes.setChannelMode ( int  mode  ) 

Sets the channel mode as either a queue or a channel.

These are specified as : nChannelAttributes.QUEUE_MODE & nChannelAttributes.CHANNEL_MODE

Parameters:
mode - one of the supported modes, either queue or channel
Exceptions:
nIllegalArgumentException if the specified channel mode not one of the support modes

void com.pcbsys.nirvana.client.com.pcbsys.nirvana.client.nChannelAttributes.setClusterWide ( bool  flag  ) 

Specifies whether this channel is a cluster channel, where it will exist in all member nodes within the cluster.

Parameters:
flag is this channel to exist across all cluster realms

void com.pcbsys.nirvana.client.com.pcbsys.nirvana.client.nChannelAttributes.setDeadEventHandler ( nAbstractChannel  store  ) 

Set the dead event handler store for this channel / queue.

When events reach there ttl or the channel hits its ttl, but have not been consumed, they can be placed in a dead event store. Setting the dead event store to be another valid channel or queue will enable this functionality and allow you to keep track of events that have died in this manner.

Parameters:
store the channel or queue to be set as the dead event store

void com.pcbsys.nirvana.client.com.pcbsys.nirvana.client.nChannelAttributes.setMaxEvents ( int  value  ) 

Sets the maximum number of events the channel can contain.

(i.e. the capacity)

Parameters:
value An int specifying the max number of events
Exceptions:
nIllegalArgumentException is thrown if an incorrect value is passed

void com.pcbsys.nirvana.client.com.pcbsys.nirvana.client.nChannelAttributes.setName ( string  channelName  ) 

Set the channel name for this channel attribute object.

If the channel begins with '/', a realm path is also created and the channel is marked as external.

Parameters:
channelName A string specifying the name of the channel for this channel attribute object.
Exceptions:
nIllegalArgumentException is thrown if an incorrect value is passed

void com.pcbsys.nirvana.client.com.pcbsys.nirvana.client.nChannelAttributes.setPublishKeys ( nChannelPublishKeys[]  keys  ) 

Sets the channel keys for this channel.

Parameters:
keys An array of nChannelPublishKeys to be assigned to this channel

void com.pcbsys.nirvana.client.com.pcbsys.nirvana.client.nChannelAttributes.setRealm ( nRealm  _realm  ) 

Sets the realm the channel exists within, marking the channel as external.

If the realm is not set, it is implied that the channel exists within the realm you have a session to and use this object.

Parameters:
_realm An nRealm object specifying the realm the channel exists within

void com.pcbsys.nirvana.client.com.pcbsys.nirvana.client.nChannelAttributes.setTTL ( long  value  ) 

Sets the Time To Live (TTL) value for each event contained in the channel.

Parameters:
value A long specifying the new TTL value
Exceptions:
nIllegalArgumentException is thrown if an invalid TTL value is specified

void com.pcbsys.nirvana.client.com.pcbsys.nirvana.client.nChannelAttributes.setType ( int  aType  ) 

Sets the type of channel.

Parameters:
aType An int specifying the channel type.
Exceptions:
nIllegalArgumentException is thrown if an illegal channel type is specified

void com.pcbsys.nirvana.client.com.pcbsys.nirvana.client.nChannelAttributes.setUniqueId ( long  id  ) 

Sets the Unique ID value for the channel.

Parameters:
id A long specifying the new unique id value

void com.pcbsys.nirvana.client.com.pcbsys.nirvana.client.nChannelAttributes.useJMSEngine ( bool  useJMSEngine  ) 

Sets whether to use the JMS style fanout engine.

Parameters:
useJMSEngine use the JMS fanout engine

void com.pcbsys.nirvana.client.com.pcbsys.nirvana.client.nChannelAttributes.useMergeEngine ( bool  useMergeEngine  ) 

Sets whether to use the Merge fanout engine.

Parameters:
useMergeEngine use the Update and Merge fanout engine