001: // ***************************************************************
002: // * *
003: // * File:ServiceConfigImpl.java *
004: // * *
005: // * Copyright (c) 2002 Sun Microsystems, Inc. *
006: // * All rights reserved. *
007: // * *
008: // * *
009: // * Date - Jul/16/2002 *
010: // * Author - alejandro.abdelnur@sun.com *
011: // * *
012: // ***************************************************************
013: package com.sun.portal.common.service.impl;
014:
015: import java.util.Iterator;
016: import java.util.Map;
017: import java.util.Set;
018: import java.util.Collections;
019: import com.sun.portal.common.service.ServiceConfig;
020: import com.sun.portal.common.service.ServiceContext;
021:
022: /**
023: * A service configuration object used by a service container
024: * used to pass information to a service during initialization.
025: * <P>
026: *
027: * @author <A HREF="mailto:tucu@sun.com">Alejandro Abdelnur</A>
028: *
029: */
030: public class ServiceConfigImpl implements ServiceConfig {
031: String _name;
032: ServiceContext _context;
033: Map _initParams;
034: Set _initParamNames;
035:
036: /**
037: * Constructor, used by the ServiceContextImpl.
038: * <P>
039: *
040: * @param name a String object with the name of the service
041: *
042: * @param context the ServiceContext for the service
043: *
044: * @param initParams the initialization parameters for the service
045: *
046: */
047: ServiceConfigImpl(String name, ServiceContext context,
048: Map initParams) {
049: _name = name;
050: _context = context;
051: _initParams = initParams;
052: _initParamNames = Collections.unmodifiableSet(_initParams
053: .keySet());
054: }
055:
056: /**
057: * Returns the name of this service instance. The name is specified
058: * in the deployment descriptor service's definition.
059: * <P>
060: *
061: * @return the name of the service
062: *
063: */
064: public String getServiceName() {
065: return _name;
066: }
067:
068: /**
069: * Returns a String containing the value of the named initialization
070: * parameter, or null if the parameter does not exist.
071: * <P>
072: *
073: * @param name a String specifying the name of the initialization
074: * parameter
075: *
076: * @return a String containing the value of the initialization
077: * parameter
078: *
079: */
080: public String getInitParameter(String name) {
081: return (String) _initParams.get(name);
082: }
083:
084: /**
085: * Returns the names of the service's initialization parameters as
086: * an Iterator of String objects, or an empty Iterator if the service
087: * has no initialization parameters.
088: * <P>
089: *
090: * @return an Iterator of String objects containing the names of the
091: * service's initialization parameters
092: *
093: */
094: public Iterator getInitParameterNames() {
095: return _initParamNames.iterator();
096: }
097:
098: /**
099: * Returns a reference to the ServiceContext in which the caller is
100: * executing.
101: * <P>
102: * @return a ServiceContext object, used by the caller to interact
103: * with its service container.
104: *
105: * @see ServiceContainer
106: *
107: */
108: public ServiceContext getServiceContext() {
109: return _context;
110: }
111:
112: }
|