diff options
Diffstat (limited to 'sca-java-2.x/trunk/modules/core-spi/src/main/java')
2 files changed, 27 insertions, 1 deletions
diff --git a/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/BasePolicyProvider.java b/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/BasePolicyProvider.java index 8f93476c85..30802feb82 100644 --- a/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/BasePolicyProvider.java +++ b/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/BasePolicyProvider.java @@ -129,6 +129,13 @@ public abstract class BasePolicyProvider<T> implements PolicyProvider { public PhasedInterceptor createInterceptor(Operation operation) { return null; } + + public PhasedInterceptor createBindingInterceptor() { + return null; + } + + public void configureBinding(Object configuration){ + } protected InvocationChain getInvocationChain() { if (subject instanceof RuntimeEndpoint) { diff --git a/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProvider.java b/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProvider.java index 00ef0d1c3c..35b64ad56f 100644 --- a/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProvider.java +++ b/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProvider.java @@ -28,12 +28,31 @@ import org.apache.tuscany.sca.invocation.PhasedInterceptor; public interface PolicyProvider { /** * Create an interceptor for a given operation + * * @param operation - * @return An interceptor that realize the policySet + * @return An interceptor that realizes the policySet */ PhasedInterceptor createInterceptor(Operation operation); /** + * Create a binding interceptor. The binding wire is + * not operation specific so an operation parameter + * isn't required + * + * @return An interceptor that realizes the policySet + */ + PhasedInterceptor createBindingInterceptor(); + + /** + * Give the provider an opportunity to affect the + * binding configuration if required + * + * @param configurationContext the configuration context of the + * binding that will be modified + */ + void configureBinding(Object configuration); + + /** * Start the provider */ void start(); |