001: /*
002: * Licensed to the Apache Software Foundation (ASF) under one or more
003: * contributor license agreements. See the NOTICE file distributed with
004: * this work for additional information regarding copyright ownership.
005: * The ASF licenses this file to You under the Apache License, Version 2.0
006: * (the "License"); you may not use this file except in compliance with
007: * the License. You may obtain a copy of the License at
008: *
009: * http://www.apache.org/licenses/LICENSE-2.0
010: *
011: * Unless required by applicable law or agreed to in writing, software
012: * distributed under the License is distributed on an "AS IS" BASIS,
013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: * See the License for the specific language governing permissions and
015: * limitations under the License.
016: */
017:
018: package org.apache.commons.modeler.demo;
019:
020: import java.util.HashMap;
021:
022: /**
023: * <p>Sample managed object for the Modeler Demonstration Application,
024: * based on the Catalina architecture of Tomcat 4.</p>
025: *
026: * @author Craig R. McClanahan
027: * @version $Revision: 480402 $ $Date: 2006-11-29 04:43:23 +0000 (Wed, 29 Nov 2006) $
028: */
029:
030: public class Service {
031:
032: // ----------------------------------------------------------- Constructors
033:
034: /**
035: * Construct a default instance of this class.
036: */
037: public Service() {
038:
039: super ();
040:
041: }
042:
043: /**
044: * Construct a configured instance of this class.
045: *
046: * @param name Name of this service
047: * @param server Associated server
048: */
049: public Service(String name, Server server) {
050:
051: super ();
052: setName(name);
053: setServer(server);
054:
055: }
056:
057: // ----------------------------------------------------- Instance Variables
058:
059: /**
060: * The set of connectors associated with this Service, keyed by port.
061: */
062: private HashMap connectors = new HashMap();
063:
064: // ------------------------------------------------------------- Properties
065:
066: /**
067: * The associated Container for this Service.
068: */
069: public Container container = null;
070:
071: public Container getContainer() {
072: return (this .container);
073: }
074:
075: public void setContainer(Container container) {
076: this .container = container;
077: }
078:
079: /**
080: * The name of this Service.
081: */
082: private String name = null;
083:
084: public String getName() {
085: return (this .name);
086: }
087:
088: public void setName(String name) {
089: this .name = name;
090: }
091:
092: /**
093: * The associated Server for this Service.
094: */
095: private Server server = null;
096:
097: public Server getServer() {
098: return (this .server);
099: }
100:
101: public void setServer(Server server) {
102: this .server = server;
103: }
104:
105: // --------------------------------------------------------- Public Methods
106:
107: /**
108: * Add a new Connector to this Service.
109: *
110: * @param connector The connector to be added
111: */
112: public void addConnector(Connector connector) {
113:
114: connectors.put(new Integer(connector.getPort()), connector);
115:
116: }
117:
118: /**
119: * Find and return the specified Connector associated with this Service.
120: *
121: * @param port Port number of the requested connector
122: */
123: public Connector findConnector(int port) {
124:
125: return ((Connector) connectors.get(new Integer(port)));
126:
127: }
128:
129: /**
130: * Find and return all Connectors associated with this Service.
131: */
132: public Connector[] findConnectors() {
133:
134: return ((Connector[]) connectors.values().toArray(
135: new Connector[0]));
136:
137: }
138:
139: /**
140: * Remove the specified Connector from association with this Service.
141: *
142: * @param connector The Connector to be removed
143: */
144: public void removeConnector(Connector connector) {
145:
146: connectors.remove(new Integer(connector.getPort()));
147:
148: }
149:
150: /**
151: * Return a String representation of this object.
152: */
153: public String toString() {
154:
155: StringBuffer sb = new StringBuffer("Service[");
156: sb.append("name=");
157: sb.append(name);
158: sb.append("]");
159: return (sb.toString());
160:
161: }
162:
163: }
|