Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.activemq.message
Class AbstractPacket  view AbstractPacket download AbstractPacket.java

java.lang.Object
  extended byorg.activemq.message.AbstractPacket
All Implemented Interfaces:
Packet
Direct Known Subclasses:
ActiveMQMessage, BrokerAdminCommand, BrokerInfo, CachedValue, CapacityInfo, CapacityInfoRequest, CleanupConnectionInfo, ConnectionInfo, ConsumerInfo, DurableUnsubscribe, KeepAlive, MessageAck, ProducerInfo, Receipt, SessionInfo, TransactionInfo, WireFormatInfo, XATransactionInfo

public abstract class AbstractPacket
extends java.lang.Object
implements Packet

Abstract class for a transportable Packet

Version:
$Revision: 1.1.1.1 $

Field Summary
protected  org.activemq.util.BitArray bitArray
           
static int BROKERS_VISITED_INDEX
           
private  CopyOnWriteArraySet brokersVisited
           
protected  int cachedHashCode
           
private  short id
           
private  int memoryUsage
           
private  int memoryUsageReferenceCount
           
static int RECEIPT_REQUIRED_INDEX
          Message flag indexes (used for writing/reading to/from a Stream
private  boolean receiptRequired
           
 
Fields inherited from interface org.activemq.message.Packet
ACTIVEMQ_BROKER_INFO, ACTIVEMQ_BYTES_MESSAGE, ACTIVEMQ_CONNECTION_INFO, ACTIVEMQ_MAP_MESSAGE, ACTIVEMQ_MESSAGE, ACTIVEMQ_MSG_ACK, ACTIVEMQ_OBJECT_MESSAGE, ACTIVEMQ_STREAM_MESSAGE, ACTIVEMQ_TEXT_MESSAGE, BROKER_ADMIN_COMMAND, CACHED_VALUE_COMMAND, CAPACITY_INFO, CAPACITY_INFO_REQUEST, CLEANUP_CONNECTION_INFO, CONSUMER_INFO, DURABLE_UNSUBSCRIBE, INT_RESPONSE_RECEIPT_INFO, KEEP_ALIVE, NOT_SET, PRODUCER_INFO, RECEIPT_INFO, RESPONSE_RECEIPT_INFO, SESSION_INFO, TRANSACTION_INFO, WIRE_FORMAT_INFO, XA_TRANSACTION_INFO
 
Constructor Summary
protected AbstractPacket()
           
 
Method Summary
 void addBrokerVisited(java.lang.String brokerName)
          As the packet passes through the broker add the broker to the visited list
 void clearBrokersVisited()
          clear list of brokers visited
 int decrementMemoryReferenceCount()
          Decrement reference count for bounded memory collections
 boolean equals(java.lang.Object obj)
          Tests equality with another instance
protected  boolean equals(java.lang.Object left, java.lang.Object right)
          A helper method used when implementing equals() which returns true if the objects are identical or equal handling nulls properly
 org.activemq.util.BitArray getBitArray()
           
 java.lang.Object[] getBrokersVisited()
           
 java.lang.String getBrokersVisitedAsString()
           
 short getId()
           
 int getMemoryUsage()
          Get a hint about how much memory this Packet is consuming
 int getMemoryUsageReferenceCount()
           
static java.lang.String getPacketTypeAsString(int type)
           
 int hashCode()
          Get a value that represents this Object, as uniquely as possible within the confines of an int.
 boolean hasVisited(java.lang.String brokerName)
          test to see if the named broker has already seen this packet
 int incrementMemoryReferenceCount()
          Increment reference count for bounded memory collections
(package private)  void initializeBrokersVisited()
           
protected  void initializeOther(AbstractPacket other)
          Initializes another message with current values from this instance
 boolean isJMSMessage()
          Retrieve if a JMS Message type or not
 boolean isReceipt()
           
 boolean isReceiptRequired()
           
 void setBitArray(org.activemq.util.BitArray bitArray)
           
 void setBrokersVisitedAsString(java.lang.String value)
           
 void setId(short newId)
          Set the unique id for this Packet
 void setMemoryUsage(int newMemoryUsage)
          Set a hint about how mujch memory this packet is consuming
 void setReceiptRequired(boolean value)
          Set if a Recipt if required on receiving this Packet
 java.lang.String toString()
          Convert this Object to a human-readable String.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.activemq.message.Packet
getPacketType
 

Field Detail

RECEIPT_REQUIRED_INDEX

public static final int RECEIPT_REQUIRED_INDEX
Message flag indexes (used for writing/reading to/from a Stream

See Also:
Constant Field Values

BROKERS_VISITED_INDEX

public static final int BROKERS_VISITED_INDEX
See Also:
Constant Field Values

id

private short id

bitArray

protected org.activemq.util.BitArray bitArray

cachedHashCode

protected transient int cachedHashCode

receiptRequired

private boolean receiptRequired

memoryUsage

private transient int memoryUsage

memoryUsageReferenceCount

private transient int memoryUsageReferenceCount

brokersVisited

private CopyOnWriteArraySet brokersVisited
Constructor Detail

AbstractPacket

protected AbstractPacket()
Method Detail

getId

public short getId()
Specified by:
getId in interface Packet

setId

public void setId(short newId)
Set the unique id for this Packet

Specified by:
setId in interface Packet

isReceiptRequired

public boolean isReceiptRequired()
Specified by:
isReceiptRequired in interface Packet

isReceipt

public boolean isReceipt()
Specified by:
isReceipt in interface Packet

setReceiptRequired

public void setReceiptRequired(boolean value)
Set if a Recipt if required on receiving this Packet

Specified by:
setReceiptRequired in interface Packet

isJMSMessage

public boolean isJMSMessage()
Retrieve if a JMS Message type or not

Specified by:
isJMSMessage in interface Packet

equals

public boolean equals(java.lang.Object obj)
Tests equality with another instance


hashCode

public int hashCode()
Description copied from class: java.lang.Object
Get a value that represents this Object, as uniquely as possible within the confines of an int.

There are some requirements on this method which subclasses must follow:

  • Semantic equality implies identical hashcodes. In other words, if a.equals(b) is true, then a.hashCode() == b.hashCode() must be as well. However, the reverse is not necessarily true, and two objects may have the same hashcode without being equal.
  • It must be consistent. Whichever value o.hashCode() returns on the first invocation must be the value returned on all later invocations as long as the object exists. Notice, however, that the result of hashCode may change between separate executions of a Virtual Machine, because it is not invoked on the same object.

Notice that since hashCode is used in java.util.Hashtable and other hashing classes, a poor implementation will degrade the performance of hashing (so don't blindly implement it as returning a constant!). Also, if calculating the hash is time-consuming, a class may consider caching the results.

The default implementation returns System.identityHashCode(this)


getMemoryUsage

public int getMemoryUsage()
Get a hint about how much memory this Packet is consuming

Specified by:
getMemoryUsage in interface Packet

setMemoryUsage

public void setMemoryUsage(int newMemoryUsage)
Set a hint about how mujch memory this packet is consuming

Specified by:
setMemoryUsage in interface Packet

incrementMemoryReferenceCount

public int incrementMemoryReferenceCount()
Increment reference count for bounded memory collections

Specified by:
incrementMemoryReferenceCount in interface Packet

decrementMemoryReferenceCount

public int decrementMemoryReferenceCount()
Decrement reference count for bounded memory collections

Specified by:
decrementMemoryReferenceCount in interface Packet

getMemoryUsageReferenceCount

public int getMemoryUsageReferenceCount()
Specified by:
getMemoryUsageReferenceCount in interface Packet

addBrokerVisited

public void addBrokerVisited(java.lang.String brokerName)
As the packet passes through the broker add the broker to the visited list

Specified by:
addBrokerVisited in interface Packet

clearBrokersVisited

public void clearBrokersVisited()
clear list of brokers visited

Specified by:
clearBrokersVisited in interface Packet

hasVisited

public boolean hasVisited(java.lang.String brokerName)
test to see if the named broker has already seen this packet

Specified by:
hasVisited in interface Packet

getBrokersVisitedAsString

public java.lang.String getBrokersVisitedAsString()
Specified by:
getBrokersVisitedAsString in interface Packet

setBrokersVisitedAsString

public void setBrokersVisitedAsString(java.lang.String value)

toString

public java.lang.String toString()
Description copied from class: java.lang.Object
Convert this Object to a human-readable String. There are no limits placed on how long this String should be or what it should contain. We suggest you make it as intuitive as possible to be able to place it into System.out.println() 55 and such.

It is typical, but not required, to ensure that this method never completes abruptly with a java.lang.RuntimeException.

This method will be called when performing string concatenation with this object. If the result is null, string concatenation will instead use "null".

The default implementation returns getClass().getName() + "@" + Integer.toHexString(hashCode()).


getPacketTypeAsString

public static java.lang.String getPacketTypeAsString(int type)

equals

protected boolean equals(java.lang.Object left,
                         java.lang.Object right)
A helper method used when implementing equals() which returns true if the objects are identical or equal handling nulls properly


initializeOther

protected void initializeOther(AbstractPacket other)
Initializes another message with current values from this instance


initializeBrokersVisited

void initializeBrokersVisited()

getBrokersVisited

public java.lang.Object[] getBrokersVisited()

getBitArray

public org.activemq.util.BitArray getBitArray()

setBitArray

public void setBitArray(org.activemq.util.BitArray bitArray)