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 }