01: /*
02: * <copyright>
03: *
04: * Copyright 1997-2007 BBNT Solutions, LLC
05: * under sponsorship of the Defense Advanced Research Projects
06: * Agency (DARPA).
07: *
08: * You can redistribute this software and/or modify it under the
09: * terms of the Cougaar Open Source License as published on the
10: * Cougaar Open Source Website (www.cougaar.org).
11: *
12: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
13: * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
14: * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
15: * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
16: * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
17: * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
18: * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
19: * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
20: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
22: * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23: *
24: * </copyright>
25: */
26:
27: package org.cougaar.lib.web.micro.mts;
28:
29: import java.io.Serializable;
30:
31: /**
32: * These tokens are marker objects in a {@link Deliverer} data list, and
33: * are used to separate <code>byte[]</code> stream data from control options
34: * (flush/close/keep-alive).
35: */
36: public final class Tokens {
37:
38: /** Noop to keep stream alive, can occur anywhere in the list */
39: public static final NoOp NOOP = NoOp.INSTANCE;
40:
41: /** Flush the stream, can occur anywhere in the list */
42: public static final Flush FLUSH = Flush.INSTANCE;
43:
44: /** Close the stream, should only occur at the end of the list */
45: public static final Close CLOSE = Close.INSTANCE;
46:
47: private static final class NoOp implements Serializable {
48: public static final NoOp INSTANCE = new NoOp();
49:
50: private NoOp() {
51: }
52:
53: private Object readResolve() {
54: return INSTANCE;
55: }
56:
57: public String toString() {
58: return "noop";
59: }
60:
61: static final long serialVersionUID = 1128390689504398535L;
62: }
63:
64: private static final class Flush implements Serializable {
65: public static final Flush INSTANCE = new Flush();
66:
67: private Flush() {
68: }
69:
70: private Object readResolve() {
71: return INSTANCE;
72: }
73:
74: public String toString() {
75: return "flush";
76: }
77:
78: static final long serialVersionUID = 1238901293812098314L;
79: }
80:
81: private static final class Close implements Serializable {
82: public static final Close INSTANCE = new Close();
83:
84: private Close() {
85: }
86:
87: private Object readResolve() {
88: return INSTANCE;
89: }
90:
91: public String toString() {
92: return "close";
93: }
94:
95: static final long serialVersionUID = 3273897829389628323L;
96: }
97: }
|