diff options
author | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2009-10-20 00:17:14 +0000 |
---|---|---|
committer | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2009-10-20 00:17:14 +0000 |
commit | e5fe5eff23e107d68b2486add75748fdab26fbde (patch) | |
tree | 136139a6b7f50d70a108b53f11c06a026494efcc /java/sca/modules/assembly | |
parent | 3a90e0b350d52cea1f52d05f6d98513ac520150a (diff) |
Turn JavaClassVisitor to declarative services and remove the module activator
Add a ServiceHelper utility to simplify the instantiation of declared services
Refactor the module activator to receive ExtensionPointRegistry from constructor
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@826907 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/sca/modules/assembly')
2 files changed, 24 insertions, 0 deletions
diff --git a/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Implementation.java b/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Implementation.java index d15334000f..2d918a0592 100644 --- a/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Implementation.java +++ b/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/Implementation.java @@ -18,8 +18,12 @@ */ package org.apache.tuscany.sca.assembly; +import java.util.List; + import javax.xml.namespace.QName; +import org.apache.tuscany.sca.interfacedef.Operation; + /** * Represents a component implementation. * @@ -27,4 +31,5 @@ import javax.xml.namespace.QName; */ public interface Implementation extends ComponentType { QName getType(); + List<Operation> getOperations(); } diff --git a/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ImplementationImpl.java b/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ImplementationImpl.java index baa23450ab..20c7ea3206 100644 --- a/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ImplementationImpl.java +++ b/java/sca/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ImplementationImpl.java @@ -19,9 +19,13 @@ package org.apache.tuscany.sca.assembly.impl; +import java.util.ArrayList; +import java.util.List; + import javax.xml.namespace.QName; import org.apache.tuscany.sca.assembly.Implementation; +import org.apache.tuscany.sca.interfacedef.Operation; import org.apache.tuscany.sca.policy.ExtensionType; import org.apache.tuscany.sca.policy.PolicySubject; @@ -33,6 +37,7 @@ import org.apache.tuscany.sca.policy.PolicySubject; public abstract class ImplementationImpl extends ComponentTypeImpl implements Implementation, PolicySubject { private QName type; private ExtensionType extensionType; + private List<Operation> operations = new ArrayList<Operation>(); protected ImplementationImpl(QName type) { super(); @@ -54,4 +59,18 @@ public abstract class ImplementationImpl extends ComponentTypeImpl implements Im public String toString() { return String.valueOf(getType()); } + + public List<Operation> getOperations() { + return operations; + } + + @Override + public Object clone() throws CloneNotSupportedException { + ImplementationImpl impl = (ImplementationImpl)super.clone(); + impl.operations = new ArrayList<Operation>(); + for (Operation operation : operations) { + impl.operations.add((Operation)operation.clone()); + } + return impl; + } } |