01: /*
02: * This file is part of the QuickServer library
03: * Copyright (C) 2003-2005 QuickServer.org
04: *
05: * Use, modification, copying and distribution of this software is subject to
06: * the terms and conditions of the GNU Lesser General Public License.
07: * You should have received a copy of the GNU LGP License along with this
08: * library; if not, you can download a copy from <http://www.quickserver.org/>.
09: *
10: * For questions, suggestions, bug-reports, enhancement-requests etc.
11: * visit http://www.quickserver.org
12: *
13: */
14:
15: package org.quickserver.net.server;
16:
17: /**
18: * This class defines the mode(format) of data exchange between
19: * QuickServer and client socket.
20: * <p>
21: * Contributions By:
22: * Martin Benns : BYTE Mode
23: * </p>
24: * @since 1.2
25: * @author Akshathkumar Shetty
26: */
27: public class DataMode {
28: private String mode;
29:
30: private DataMode(String mode) {
31: this .mode = mode;
32: }
33:
34: public String toString() {
35: return mode;
36: }
37:
38: /**
39: * String (default) data mode for {@link ClientHandler}
40: * - Receive data as String terminated by <CR><LF>
41: * When {@link ClientHandler} receives any String it calls
42: * {@link ClientCommandHandler#handleCommand} method
43: */
44: public static final DataMode STRING = new DataMode("String");
45:
46: /**
47: * Object data mode for {@link ClientHandler}
48: * - Receive java objects.
49: * When {@link ClientHandler} receives any Object it calls
50: * {@link ClientObjectHandler#handleObject} method.
51: */
52: public static final DataMode OBJECT = new DataMode("Object");
53:
54: /**
55: * Byte data mode for {@link ClientHandler}
56: * - Receive byte character data stream
57: * When {@link ClientHandler} receives any bytes it calls
58: * {@link ClientCommandHandler#handleCommand} method passing the
59: * character bytes received has a String object. This can be used to
60: * receive String data that are not terminated by <CR> and/or
61: * <LF> or have <CR> and/or <LF> in them.
62: */
63: public static final DataMode BYTE = new DataMode("Byte");
64:
65: /**
66: * Binary data mode for {@link ClientHandler}
67: * - Receive binary data [byte]
68: * When {@link ClientHandler} receives any binary it calls
69: * {@link ClientBinaryHandler#handleBinary} method.
70: * @since 1.4
71: */
72: public static final DataMode BINARY = new DataMode("Binary");
73: }
|