01: /*
02: * BEGIN_HEADER - DO NOT EDIT
03: *
04: * The contents of this file are subject to the terms
05: * of the Common Development and Distribution License
06: * (the "License"). You may not use this file except
07: * in compliance with the License.
08: *
09: * You can obtain a copy of the license at
10: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
11: * See the License for the specific language governing
12: * permissions and limitations under the License.
13: *
14: * When distributing Covered Code, include this CDDL
15: * HEADER in each file and include the License file at
16: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
17: * If applicable add the following below this CDDL HEADER,
18: * with the fields enclosed by brackets "[]" replaced with
19: * your own identifying information: Portions Copyright
20: * [year] [name of copyright owner]
21: */
22:
23: /*
24: * @(#)SecurityService.java
25: * Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved.
26: *
27: * END_HEADER - DO NOT EDIT
28: */
29: /**
30: * SecurityService.java
31: *
32: * SUN PROPRIETARY/CONFIDENTIAL.
33: * This software is the proprietary information of Sun Microsystems, Inc.
34: * Use is subject to license terms.
35: *
36: */package com.sun.jbi.binding.security;
37:
38: import com.sun.jbi.component.ComponentContext;
39:
40: /**
41: * The Security service is the factory for Security Handlers. A Security handler is
42: * is created for each binding component based on its installation configuration.
43: *
44: * @author Sun Microsystems, Inc.
45: */
46: public interface SecurityService {
47:
48: /**
49: * Create a SecurityHandler based on the SecurityConfiguration.
50: *
51: * @param envCtx is the ComponentContext of the Binding Component associated
52: * with the Securityhandler
53: * @return a instance of the newly created SecurityHandler
54: * @throws IllegalStateException if the SecurityHandler is in a invalid
55: * state on creation.
56: */
57: SecurityHandler createSecurityHandler(ComponentContext envCtx)
58: throws IllegalStateException;
59:
60: /**
61: * Create a SecurityHandler based on the SecurityConfiguration.
62: *
63: * @param envCtx is the ComponentContext of the Binding Component associated
64: * with the Securityhandler
65: * @param authLayer is the type of layer that requires to use the security services.
66: * @return a instance of the newly created SecurityHandler
67: * @throws IllegalStateException if the SecurityHandler is in a invalid
68: * state on creation.
69: */
70: SecurityHandler createSecurityHandler(ComponentContext envCtx,
71: String authLayer) throws IllegalStateException;
72:
73: /**
74: * Get the SecurityHandler for a Component.
75: *
76: * @param componentId is the Component Id
77: * @return a instance of the components SecurityHandler, if it exists null otherwise.
78: */
79: SecurityHandler getSecurityHandler(String componentId);
80:
81: /**
82: * Remove the SecurityHandler for the component, this method should be called when
83: * the component is shutdown or uninstalled.
84: *
85: * @param componentId is the Component Id
86: */
87: void removeSecurityHandler(String componentId);
88:
89: }
|