diff options
author | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2010-03-11 04:45:13 +0000 |
---|---|---|
committer | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2010-03-11 04:45:13 +0000 |
commit | 4c992115eb659a49506d19fbb8c116bc44f7421d (patch) | |
tree | a0be41d1afd7248406f0160024cc51e8ba72a3b2 /sca-java-2.x/trunk/modules/core-spi/src/main | |
parent | 98e926ec59cca9e5696e5376ea59940ceb7cae3b (diff) |
Allows RMIHost to return mapped uri
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@921690 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/modules/core-spi/src/main')
2 files changed, 21 insertions, 0 deletions
diff --git a/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultProviderFactoryExtensionPoint.java b/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultProviderFactoryExtensionPoint.java index 8621baca2e..6aad6786e3 100644 --- a/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultProviderFactoryExtensionPoint.java +++ b/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/DefaultProviderFactoryExtensionPoint.java @@ -102,6 +102,17 @@ public class DefaultProviderFactoryExtensionPoint implements ProviderFactoryExte loadProviderFactories(); return policyProviderFactories; } + + public <P extends ProviderFactory> Collection<P> getProviderFactories(Class<P> factoryType) { + loadProviderFactories(); + List<P> factories = new ArrayList<P>(); + for (ProviderFactory pf : providerFactories.values()) { + if (factoryType.isInstance(pf)) { + factories.add(factoryType.cast(pf)); + } + } + return factories; + } /** * Load provider factories declared under META-INF/services. diff --git a/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactoryExtensionPoint.java b/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactoryExtensionPoint.java index d8f9973338..54dd6cc912 100644 --- a/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactoryExtensionPoint.java +++ b/sca-java-2.x/trunk/modules/core-spi/src/main/java/org/apache/tuscany/sca/provider/ProviderFactoryExtensionPoint.java @@ -19,6 +19,7 @@ package org.apache.tuscany.sca.provider; +import java.util.Collection; import java.util.List; @@ -60,4 +61,13 @@ public interface ProviderFactoryExtensionPoint { */ List<PolicyProviderFactory> getPolicyProviderFactories(); + /** + * Get a collection of provider factories by the factory type + * @param <P> + * @param factoryType The factory type such as BindingProviderFactory + * @return a collection of provider factories of the factory type + */ + <P extends ProviderFactory> Collection<P> getProviderFactories(Class<P> factoryType); + + } |