View Javadoc

1   /*
2    * Created on Jun 7, 2006 by scytacki
3    *
4    * Copyright (c) 2006 Regents of the University of California (Regents). Created
5    * by TELS, Graduate School of Education, University of California at Berkeley.
6    *
7    * This software is distributed under the GNU Lesser General Public License, v2.
8    *
9    * Permission is hereby granted, without written agreement and without license
10   * or royalty fees, to use, copy, modify, and distribute this software and its
11   * documentation for any purpose, provided that the above copyright notice and
12   * the following two paragraphs appear in all copies of this software.
13   *
14   * REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15   * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16   * PURPOSE. THE SOFTWAREAND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED
17   * HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE
18   * MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
19   *
20   * IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
21   * SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS,
22   * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
23   * REGENTS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24   */
25  
26  package net.sf.sail.core.service;
27  
28  /**
29   * Provides service implementations
30   * 
31   * @author scytacki
32   * AUDIT07
33   */
34  public interface ServiceContext {
35  	
36  	/**
37  	 * @param serviceClass service class to add, used as key to the actual
38  	 *     service implementation
39  	 * @param service the actual service implementation to use
40  	 */
41  	public void addService(Class<?> serviceClass, Object service);
42  
43  	/**
44  	 * @param serviceClass the service class to lookup
45  	 * @return serviceClass implementation that is being used
46  	 */
47  	public Object getService(Class<?> serviceClass);
48  }