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: * @(#)Interceptor.java
25: * Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved.
26: *
27: * END_HEADER - DO NOT EDIT
28: */
29: /**
30: * Interceptor.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 javax.security.auth.Subject;
39:
40: /**
41: * The Interceptor used by clients to delegate processing requests.
42: * @author Sun Microsystems, Inc.
43: */
44: public interface Interceptor {
45: /**
46: * Process an incoming message. For an Inbound endpoint the incoming message is
47: * a request being sent to invoke a particular operation in a Service. For an
48: * Outbound endpoint the incoming message is a Response to a earlier message.
49: *
50: * @param endpoint is the deployed Endpoint which is the sink of the Message
51: * @param operation is the operation being invoked
52: * @param subject is the Subject to be updated with the Senders Identity
53: * @param msgCtx is the MessageContext which is a wrapper around the message.
54: * @throws MessageHandlerException on Errors
55: */
56: void processIncomingMessage(Endpoint endpoint, String operation,
57: MessageContext msgCtx, Subject subject)
58: throws MessageHandlerException;
59:
60: /**
61: * Process an outbound message. For an Inbound endpoint the outgoind message is
62: * a response being sent to an earlier request to the Endpoint to invoke a particular
63: * operation in a Service. For an Outbound endpoint the outbound message is a Request
64: * being sent to a remote Service to invoke a operation.
65: *
66: * @param endpoint is the deployed Endpoint which is the source of the Message
67: * @param operation is the operation being invoked
68: * param subject is the Subject which identifies the Sender.
69: * @param msgCtx is the MessageContext which is a wrapper around the message.
70: * @throws MessageHandlerException on Errors
71: */
72: void processOutgoingMessage(Endpoint endpoint, String operation,
73: MessageContext msgCtx, Subject subject)
74: throws MessageHandlerException;
75: }
|