1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.modeler.demo;
19
20
21 import java.util.HashMap;
22
23
24 /***
25 * <p>Sample managed object for the Modeler Demonstration Application,
26 * based on the Catalina architecture of Tomcat 4.</p>
27 *
28 * @author Craig R. McClanahan
29 * @version $Revision: 155428 $ $Date: 2005-02-26 08:12:25 -0500 (Sat, 26 Feb 2005) $
30 */
31
32 public class Server {
33
34
35
36
37
38 /***
39 * Construct a default instance of this class.
40 */
41 public Server() {
42
43 super();
44
45 }
46
47
48 /***
49 * Construct a configured instance of this class.
50 *
51 * @param port Port number of this server
52 * @param shutdown Shutdown command of this server
53 */
54 public Server(int port, String shutdown) {
55
56 super();
57 setPort(port);
58 setShutdown(shutdown);
59
60 }
61
62
63
64
65
66 /***
67 * The set of services associated with this Server, keyed by name.
68 */
69 private HashMap services = new HashMap();
70
71
72
73
74
75 /***
76 * The port number for our shutdown commands.
77 */
78 private int port = 8005;
79
80 public int getPort() {
81 return (this.port);
82 }
83
84 public void setPort(int port) {
85 this.port = port;
86 }
87
88
89 /***
90 * The shutdown command password.
91 */
92 private String shutdown = "SHUTDOWN";
93
94 public String getShutdown() {
95 return (this.shutdown);
96 }
97
98 public void setShutdown(String shutdown) {
99 this.shutdown = shutdown;
100 }
101
102
103
104
105 /***
106 * Add a new Service to this Server.
107 *
108 * @param service The service to be added
109 */
110 public void addService(Service service) {
111
112 services.put(service.getName(), service);
113
114 }
115
116
117 /***
118 * Find and return the specified Service associated with this Server.
119 *
120 * @param name Name of the requested service
121 */
122 public Service findService(String name) {
123
124 return ((Service) services.get(name));
125
126 }
127
128
129 /***
130 * Find and return all Services associated with this Server.
131 */
132 public Service[] findServices() {
133
134 Service results[] = new Service[services.size()];
135 return ((Service[]) services.values().toArray(results));
136
137 }
138
139
140 /***
141 * Remove the specified Service from association with this Server.
142 *
143 * @param service The Service to be removed
144 */
145 public void removeService(Service service) {
146
147 services.remove(service.getName());
148
149 }
150
151
152 /***
153 * Return a String representation of this object.
154 */
155 public String toString() {
156
157 StringBuffer sb = new StringBuffer("Server[");
158 sb.append("port=");
159 sb.append(port);
160 sb.append(", shutdown=");
161 sb.append(shutdown);
162 sb.append("]");
163 return (sb.toString());
164
165 }
166
167
168 }