KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > ubermq > jms > common > datagram > impl > ServerDatagramFactory


1 package com.ubermq.jms.common.datagram.impl;
2
3 import com.ubermq.jms.common.datagram.*;
4 import com.ubermq.kernel.*;
5
6 import java.nio.ByteBuffer JavaDoc;
7
8 /**
9  * A datagram factory that uses the optimized
10  * implementation of IMessageDatagram. The optimized
11  * version is tailored for use by servers, which perform
12  * very little modification and examine a message datagram
13  * for a short, well-defined period of time. <p>
14  *
15  * @see com.ubermq.jms.server.datagram.impl.ServerMessageDatagram
16  */

17 public final class ServerDatagramFactory
18     extends DatagramFactory
19 {
20     private static final ServerDatagramFactory theInstance;
21     private static final ServerMessageDatagram smd;
22
23     static {
24         theInstance = new ServerDatagramFactory();
25         smd = new ServerMessageDatagram();
26     }
27
28     /**
29      * singleton pattern. this is a stateless object.
30      */

31     ServerDatagramFactory() {}
32     private Object JavaDoc readResolve() {return theInstance;}
33
34     public static DatagramFactory getInstance() {return theInstance;}
35
36     IDatagram createDatagramInstance(int datagramType)
37     {
38         if (datagramType == DatagramFactory.DGRAM_MSG)
39             return smd;
40         else
41             return super.createDatagramInstance(datagramType);
42     }
43 }
44
Popular Tags