summaryrefslogtreecommitdiffstats
path: root/sca-java-1.x/tags/java-M1-final/java/sca/model/src/main/java/org/apache/tuscany/model/assembly/AssemblyFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'sca-java-1.x/tags/java-M1-final/java/sca/model/src/main/java/org/apache/tuscany/model/assembly/AssemblyFactory.java')
-rw-r--r--sca-java-1.x/tags/java-M1-final/java/sca/model/src/main/java/org/apache/tuscany/model/assembly/AssemblyFactory.java260
1 files changed, 260 insertions, 0 deletions
diff --git a/sca-java-1.x/tags/java-M1-final/java/sca/model/src/main/java/org/apache/tuscany/model/assembly/AssemblyFactory.java b/sca-java-1.x/tags/java-M1-final/java/sca/model/src/main/java/org/apache/tuscany/model/assembly/AssemblyFactory.java
new file mode 100644
index 0000000000..efbc6bffa4
--- /dev/null
+++ b/sca-java-1.x/tags/java-M1-final/java/sca/model/src/main/java/org/apache/tuscany/model/assembly/AssemblyFactory.java
@@ -0,0 +1,260 @@
+/**
+ *
+ * Copyright 2005 The Apache Software Foundation or its licensors, as applicable.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.tuscany.model.assembly;
+
+import javax.xml.namespace.QName;
+
+import org.apache.tuscany.model.types.java.JavaServiceContract;
+import org.apache.tuscany.model.types.wsdl.WSDLServiceContract;
+
+/**
+ * The Factory for the assembly model. Provides a create method for each non-abstract class of the model.
+ */
+public interface AssemblyFactory {
+
+ /**
+ * Returns a new SimpleComponent.
+ *
+ * @return a new SimpleComponent
+ */
+ AtomicComponent createSimpleComponent();
+
+ /**
+ * Returns a new ComponentType.
+ *
+ * @return a new ComponentType
+ */
+ ComponentType createComponentType();
+
+ /**
+ * Returns a new EntryPoint.
+ *
+ * @return a new EntryPoint
+ */
+ EntryPoint createEntryPoint();
+
+ /**
+ * Returns a new ExternalService.
+ *
+ * @return a new ExternalService
+ */
+ ExternalService createExternalService();
+
+ /**
+ * Returns a new JavaServiceContract.
+ *
+ * @return a new JavaServiceContract
+ */
+ JavaServiceContract createJavaServiceContract();
+
+ /**
+ * Returns a new Module.
+ *
+ * @return a new Module
+ */
+ Module createModule();
+
+ /**
+ * Returns a new ModuleComponent.
+ *
+ * @return a new ModuleComponent
+ */
+ ModuleComponent createModuleComponent();
+
+ /**
+ * Returns a new ModuleFragment.
+ *
+ * @return a new ModuleFragment
+ */
+ ModuleFragment createModuleFragment();
+
+ /**
+ * Returns a new Reference.
+ *
+ * @return a new Reference
+ */
+ Reference createReference();
+
+ /**
+ * Returns a new ConfiguredReference.
+ *
+ * @return a new ConfiguredReference
+ */
+ ConfiguredReference createConfiguredReference();
+
+ /**
+ * Returns a new Service.
+ *
+ * @return a new Service
+ */
+ Service createService();
+
+ /**
+ * Returns a new ConfiguredService.
+ *
+ * @return a new ConfiguredService
+ */
+ ConfiguredService createConfiguredService();
+
+ /**
+ * Returns a new Subsystem.
+ *
+ * @return a new Subsystem
+ */
+ Subsystem createSubsystem();
+
+ /**
+ * Returns a new Property.
+ *
+ * @return a new Property
+ */
+ Property createProperty();
+
+ /**
+ * Returns a new ConfiguredProperty.
+ *
+ * @return a new ConfiguredProperty
+ */
+ ConfiguredProperty createConfiguredProperty();
+
+ /**
+ * Returns a new WSDLServiceContract.
+ *
+ * @return a new WSDLServiceContract
+ */
+ WSDLServiceContract createWSDLServiceContract();
+
+ /**
+ * Create a new ServiceURI from the given uri string.
+ *
+ * @param uri the URI for the service
+ * @return a new ServiceURI created from the supplied URI
+ */
+ ServiceURI createServiceURI(String uri);
+
+ /**
+ * Creates a new ServiceURI from a module component and a service name.
+ *
+ * @param moduleComponent the module component exposing the service
+ * @param serviceName the name of the service exposed by the module
+ * @return a new ServiceURI for the exposed service
+ */
+ ServiceURI createServiceURI(ModuleComponent moduleComponent, String serviceName);
+
+ /**
+ * Creates a new ServiceURI from a module component and configured port.
+ *
+ * @param moduleComponent the module component exposing the service
+ * @param part the part that is providing the service
+ * @param configuredPort the port on the part
+ * @return a new serviceURI for the exposed service
+ */
+ ServiceURI createServiceURI(ModuleComponent moduleComponent, Part part, ConfiguredPort configuredPort);
+
+ ServiceURI createServiceURI(ModuleComponent moduleComponent, String partName, String serviceName);
+
+ /**
+ * Create a qname from a URI
+ *
+ * @param uri
+ * @return a new qname
+ */
+ QName createQName(String uri);
+
+ /**
+ * Create a wire
+ *
+ * @return an new wire
+ */
+ Wire createWire();
+
+ /**
+ * Helper method for creating a reference.
+ *
+ * @param name the name of the reference
+ * @param service the Java type of the service
+ * @return a Reference
+ */
+ Reference createReference(String name, Class<?> service);
+
+ /**
+ * Helper method for creating a reference.
+ *
+ * @param name the name of the reference
+ * @param service the Java type of the service
+ * @param multiplicity the multiplicity of the reference
+ * @return a Reference
+ */
+ Reference createReference(String name, Class<?> service, Multiplicity multiplicity);
+
+ /**
+ * Helper method for creating a configured reference.
+ *
+ * @param name the name of the reference
+ * @param targets the targets for the reference
+ * @return a ConfiguredReference
+ */
+ ConfiguredReference createConfiguredReference(String name, String... targets);
+
+ /**
+ * Helper method for creating an EntryPoint wired to a single target.
+ *
+ * @param entryPointName the name of the entry point
+ * @param serviceContract the service contract the EntryPoint should expose
+ * @param binding the binding the EntryPoint should use
+ * @param targetName the target the EntryPoint exposes
+ * @return an EntryPoint that exposes the supplied service and is wired to the target
+ */
+ EntryPoint createEntryPoint(String entryPointName, ServiceContract serviceContract, Binding binding, String targetName);
+
+ /**
+ * Helper method for creating an EntryPoint wired to a single target.
+ *
+ * @param entryPointName the name of the entry point
+ * @param configuredService the configured service to expose
+ * @param binding the binding the EntryPoint should use
+ * @param configuredReference a configured reference to the target
+ * @return an EntryPoint that exposes the supplied service using the supplied bindng and which is wired
+ * using the supplied reference
+ */
+ EntryPoint createEntryPoint(String entryPointName, ConfiguredService configuredService, Binding binding, ConfiguredReference configuredReference);
+
+ /**
+ * Helper method for creating a simple Property.
+ *
+ * @param name the property name
+ * @param type the Java type of the property
+ * @return a Property with the supplied name and type
+ */
+ Property createProperty(String name, Class<?> type);
+
+ /**
+ * Returns a new ImportWSDL model object.
+ *
+ * @return a new ImportWSDL model object
+ */
+ ImportWSDL createImportWSDL();
+
+ /**
+ * Returns a new ImportWSDL model object initialized with the supplied values.
+ *
+ * @param location the location where the WSDL definition can be found
+ * @param namespace the namespace URI for this import
+ * @return a new ImportWSDL model object
+ */
+ ImportWSDL createImportWSDL(String location, String namespace);
+}