| /* |
| * Copyright(C) OASIS(R) 2005,2010. All Rights Reserved. |
| * OASIS trademark, IPR and other policies apply. |
| */ |
| package org.oasisopen.sca; |
| |
| import javax.security.auth.Subject; |
| |
| /** |
| * The RequestContext interface is used to obtain information about |
| * the service invocation which is executing when one of the |
| * RequestContext methods is called. |
| */ |
| public interface RequestContext { |
| |
| /** |
| * Returns the JAAS Subject of the current request. |
| * |
| * @return The JAAS (javax.security.auth.Subject) Subject of the |
| * current request. Returns null if there is no JAAS |
| * Subject. |
| */ |
| Subject getSecuritySubject(); |
| |
| /** |
| * Returns the name of the service under which the current service |
| * method is executing. |
| * |
| * @return the name of the service under which the current service |
| * operation is executing, or null if called outside of the |
| * execution of a service method. |
| */ |
| String getServiceName(); |
| |
| /** |
| * Returns a service reference for the callback for the invoked service |
| * operation, as specified by the service caller. |
| * |
| * @param <CB> the Java interface type of the callback. |
| * @return a service reference for the callback as specified by |
| * the service caller. Returns null when called for a service |
| * request whose interface is not bidirectional, or when called |
| * during execution of a callback request, or when called outside |
| * the execution of a service method. |
| */ |
| <CB> ServiceReference<CB> getCallbackReference(); |
| |
| /** |
| * Returns a proxy for the callback for the invoked service as specified |
| * by the service client. |
| * |
| * @param <CB> the type of the callback proxy |
| * @return a proxy for the callback for the invoked service as specified |
| * by the service client. Returns null when called during the |
| * execution of a service method whose interface is not |
| * bidirectional, or when called during the execution of a |
| * callback request, or when called outside the execution of a |
| * service method. |
| */ |
| <CB> CB getCallback(); |
| |
| /** |
| * Returns a ServiceReference object for the service that is executing. |
| * |
| * @param <B> the Java interface type associated with the service reference. |
| * @return the ServiceReference representing the service or callback |
| * that is executing. Returns null if when called outside the |
| * execution of a service method. |
| */ |
| <B> ServiceReference<B> getServiceReference(); |
| } |