diff options
Diffstat (limited to 'framework/bundles/org.eclipse.ecf.remoteservice/src/org/eclipse/ecf/remoteservice/provider/RemoteServiceDistributionProvider.java')
-rw-r--r-- | framework/bundles/org.eclipse.ecf.remoteservice/src/org/eclipse/ecf/remoteservice/provider/RemoteServiceDistributionProvider.java | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/framework/bundles/org.eclipse.ecf.remoteservice/src/org/eclipse/ecf/remoteservice/provider/RemoteServiceDistributionProvider.java b/framework/bundles/org.eclipse.ecf.remoteservice/src/org/eclipse/ecf/remoteservice/provider/RemoteServiceDistributionProvider.java index dc454c26e..630cbd079 100644 --- a/framework/bundles/org.eclipse.ecf.remoteservice/src/org/eclipse/ecf/remoteservice/provider/RemoteServiceDistributionProvider.java +++ b/framework/bundles/org.eclipse.ecf.remoteservice/src/org/eclipse/ecf/remoteservice/provider/RemoteServiceDistributionProvider.java @@ -8,7 +8,7 @@ ******************************************************************************/ package org.eclipse.ecf.remoteservice.provider; -import java.util.Dictionary; +import java.util.*; import org.eclipse.core.runtime.Assert; import org.eclipse.ecf.core.ContainerTypeDescription; import org.eclipse.ecf.core.identity.Namespace; @@ -30,7 +30,7 @@ public class RemoteServiceDistributionProvider implements IRemoteServiceDistribu private Dictionary<String, ?> ctdProperties; private Namespace namespace; private Dictionary<String, ?> nsProperties; - private AdapterConfig adapterConfig; + private List<AdapterConfig> adapterConfigs = new ArrayList<AdapterConfig>(); /** * Builder for RemoteServiceDistributionProvider instances @@ -89,6 +89,11 @@ public class RemoteServiceDistributionProvider implements IRemoteServiceDistribu return this; } + public Builder addAdapterConfig(AdapterConfig adapterConfig) { + this.instance.addAdapterConfig(adapterConfig); + return this; + } + public RemoteServiceDistributionProvider build() { this.instance.validateComplete(); return this.instance; @@ -175,9 +180,14 @@ public class RemoteServiceDistributionProvider implements IRemoteServiceDistribu return this; } + protected RemoteServiceDistributionProvider addAdapterConfig(AdapterConfig adapterConfig) { + Assert.isNotNull(adapterConfig); + this.adapterConfigs.add(adapterConfig); + return this; + } + protected RemoteServiceDistributionProvider setAdapterConfig(AdapterConfig adapterConfig) { - this.adapterConfig = adapterConfig; - Assert.isNotNull(this.adapterConfig); + addAdapterConfig(adapterConfig); return this; } @@ -190,7 +200,7 @@ public class RemoteServiceDistributionProvider implements IRemoteServiceDistribu throw new NullPointerException("Container type description instantiator cannot be null"); //$NON-NLS-1$ } - public ContainerTypeDescription createContainerTypeDescription() { + public ContainerTypeDescription getContainerTypeDescription() { validateComplete(); return new ContainerTypeDescription(getName(), getInstantiator(), getDescription(), isServer(), isHidden()); } @@ -199,7 +209,7 @@ public class RemoteServiceDistributionProvider implements IRemoteServiceDistribu return ctdProperties; } - public Namespace createNamespace() { + public Namespace getNamespace() { return namespace; } @@ -207,7 +217,7 @@ public class RemoteServiceDistributionProvider implements IRemoteServiceDistribu return nsProperties; } - public AdapterConfig createAdapterConfig() { - return adapterConfig; + public AdapterConfig[] getAdapterConfigs() { + return adapterConfigs.toArray(new AdapterConfig[adapterConfigs.size()]); } } |