001: /*
002: * The contents of this file are subject to the Sapient Public License
003: * Version 1.0 (the "License"); you may not use this file except in compliance
004: * with the License. You may obtain a copy of the License at
005: * http://carbon.sf.net/License.html.
006: *
007: * Software distributed under the License is distributed on an "AS IS" basis,
008: * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
009: * the specific language governing rights and limitations under the License.
010: *
011: * The Original Code is The Carbon Component Framework.
012: *
013: * The Initial Developer of the Original Code is Sapient Corporation
014: *
015: * Copyright (C) 2003 Sapient Corporation. All Rights Reserved.
016: */
017: package org.sape.carbon.services.jndi;
018:
019: import java.util.Map;
020:
021: import javax.naming.InitialContext;
022: import javax.naming.NamingException;
023: import javax.naming.directory.InitialDirContext;
024:
025: import org.sape.carbon.core.component.FunctionalInterface;
026:
027: /**
028: * <p>This service provides a consistent way for gaining access to a
029: * JNDI InitialContext. This service allows clients to get InitialContexts
030: * based solely on configuration, solely on parameters, or a mixture
031: * between the two with parameters taking precedence.</p>
032: *
033: * @see javax.naming.InitialContext
034: *
035: * Copyright 2003 Sapient
036: * @since carbon 2.1
037: * @author Douglas Voet, Jul 30, 2003
038: * @version $Revision: 1.2 $($Author: dvoet $ / $Date: 2003/10/30 19:28:56 $)
039: */
040: public interface InitialContextFactory extends FunctionalInterface {
041:
042: /**
043: * Gets a new InitialContext instance with evironment values that come
044: * from the service's configuration.
045: *
046: * @return a new InitalContext
047: * @throws NamingException
048: */
049: InitialContext getContext() throws NamingException;
050:
051: /**
052: * Gets a new InitialContext instance with evironment values that come
053: * from the service's configuration, but environment values can also
054: * be passed via the environment parameter to augment or override the
055: * values stored in configuration.
056: *
057: * @param environment values that augment and/or override the values
058: * stored in configuration
059: * @return a new InitialContext
060: * @throws NamingException
061: */
062: InitialContext getContext(Map environment) throws NamingException;
063:
064: /**
065: * Gets a new InitialContext with environment values given in the
066: * evironment parameter. The service's configuration is ignored.
067: *
068: * @param environment values used to construct the InitialContext
069: * @return a new InitialContext
070: * @throws NamingException
071: */
072: InitialContext getContextIgnoreConfig(Map environment)
073: throws NamingException;
074:
075: /**
076: * Gets a new InitialDirContext instance with evironment values that come
077: * from the service's configuration.
078: *
079: * @return a new InitialDirContext
080: * @throws NamingException
081: */
082: InitialDirContext getDirContext() throws NamingException;
083:
084: /**
085: * Gets a new InitialDirContext instance with evironment values that come
086: * from the service's configuration, but environment values can also
087: * be passed via the environment parameter to augment or override the
088: * values stored in configuration.
089: *
090: * @param environment values that augment and/or override the values
091: * stored in configuration
092: * @return a new InitialDirContext
093: * @throws NamingException
094: */
095: InitialDirContext getDirContext(Map environment)
096: throws NamingException;
097:
098: /**
099: * Gets a new InitialDirContext with environment values given in the
100: * evironment parameter. The service's configuration is ignored.
101: *
102: * @param environment values used to construct the InitialContext
103: * @return a new InitialDirContext
104: * @throws NamingException
105: */
106: InitialDirContext getDirContextIgnoreConfig(Map environment)
107: throws NamingException;
108: }
|