diff options
Diffstat (limited to 'branches/sca-java-1.x/modules/interface/src/main/java/org/apache')
3 files changed, 84 insertions, 48 deletions
diff --git a/branches/sca-java-1.x/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/Operation.java b/branches/sca-java-1.x/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/Operation.java index 51b7645e57..395960d04f 100644 --- a/branches/sca-java-1.x/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/Operation.java +++ b/branches/sca-java-1.x/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/Operation.java @@ -6,15 +6,15 @@ * to you 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. + * under the License. */ package org.apache.tuscany.sca.interfacedef; @@ -35,28 +35,28 @@ import org.apache.tuscany.sca.policy.PolicySetAttachPoint; public interface Operation extends Cloneable, PolicySetAttachPoint { /** * Returns the name of the operation. - * + * * @return the name of the operation */ String getName(); /** * Sets the name of the operation. - * + * * @param name the name of the operation */ void setName(String name); /** * Returns true if the model element is unresolved. - * + * * @return true if the model element is unresolved. */ boolean isUnresolved(); /** * Sets whether the model element is unresolved. - * + * * @param unresolved whether the model element is unresolved */ void setUnresolved(boolean unresolved); @@ -64,11 +64,11 @@ public interface Operation extends Cloneable, PolicySetAttachPoint { /** * Get the data type that represents the input of this operation. The logic * type is a list of data types and each element represents a parameter - * + * * @return the inputType */ DataType<List<DataType>> getInputType(); - + /** * @param inputType */ @@ -76,11 +76,11 @@ public interface Operation extends Cloneable, PolicySetAttachPoint { /** * Get the data type for the output - * + * * @return the outputType */ DataType getOutputType(); - + /** * @param outputType */ @@ -88,51 +88,51 @@ public interface Operation extends Cloneable, PolicySetAttachPoint { /** * Get a list of data types to represent the faults/exceptions - * + * * @return the faultTypes */ List<DataType> getFaultTypes(); - + /** * @param faultTypes */ void setFaultTypes(List<DataType> faultTypes); - + /** * Get the owning interface * @return */ Interface getInterface(); - + /** * Set the owning interface * @param interfaze */ void setInterface(Interface interfaze); - + /** * Get the sequence of the conversation * @return */ ConversationSequence getConversationSequence(); - + /** * Set the sequence of conversation for the operation * @param sequence */ void setConversationSequence(ConversationSequence sequence); - + /** * Indicate if the operation is non-blocking * @return */ boolean isNonBlocking(); - + /** * Set the operation to be non-blocking */ void setNonBlocking(boolean nonBlocking); - + /** * @return the inputWrapperInfo */ @@ -142,7 +142,7 @@ public interface Operation extends Cloneable, PolicySetAttachPoint { * @param wrapperInfo the inputWrapperInfo to set */ void setInputWrapper(WrapperInfo wrapperInfo); - + /** * @return the outputWrapperInfo */ @@ -152,7 +152,7 @@ public interface Operation extends Cloneable, PolicySetAttachPoint { * @param wrapperInfo the outputWrapperInfo to set */ // TODO - WI - void setOutputWrapper(WrapperInfo wrapperInfo); + void setOutputWrapper(WrapperInfo wrapperInfo); /** * @return the inputWrapperStyle @@ -163,7 +163,7 @@ public interface Operation extends Cloneable, PolicySetAttachPoint { * @param inputWrapperStyle the wrapperStyle to set */ void setInputWrapperStyle(boolean wrapperStyle); - + /** * @return the outputWrapperStyle */ @@ -173,7 +173,7 @@ public interface Operation extends Cloneable, PolicySetAttachPoint { * @param outputWrapperStyle the wrapperStyle to set */ void setOutputWrapperStyle(boolean wrapperStyle); - + /** * @deprecated This should be the WrapperInfo.getDataBinding() * Get the databinding for the operation @@ -181,7 +181,7 @@ public interface Operation extends Cloneable, PolicySetAttachPoint { */ @Deprecated String getDataBinding(); - + /** * @deprecated This should be the WrapperInfo.setDataBinding() * Set the databinding for the operation @@ -189,10 +189,10 @@ public interface Operation extends Cloneable, PolicySetAttachPoint { */ @Deprecated void setDataBinding(String dataBinding); - + /** * Returns true if the operation is dynamic. - * + * * @return true if the operation is dynamic otherwise false */ boolean isDynamic(); @@ -205,11 +205,11 @@ public interface Operation extends Cloneable, PolicySetAttachPoint { /** * Get the synthesized fault beans for this operation - * + * * @return the fault beans */ Map<QName, List<DataType<XMLType>>> getFaultBeans(); - + /** * Set the synthesized fault beans for this operation * @param faultBeans @@ -220,5 +220,7 @@ public interface Operation extends Cloneable, PolicySetAttachPoint { * Implementations must support cloning. */ Object clone() throws CloneNotSupportedException; - + + List<ParameterMode> getParameterModes(); + } diff --git a/branches/sca-java-1.x/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/ParameterMode.java b/branches/sca-java-1.x/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/ParameterMode.java new file mode 100644 index 0000000000..c4244a3480 --- /dev/null +++ b/branches/sca-java-1.x/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/ParameterMode.java @@ -0,0 +1,28 @@ +/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.sca.interfacedef;
+
+/**
+ * Parameter mode
+ * @see http://java.sun.com/javase/6/docs/api/javax/jws/WebParam.Mode.html
+ */
+public enum ParameterMode {
+ IN, OUT, INOUT;
+}
diff --git a/branches/sca-java-1.x/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/OperationImpl.java b/branches/sca-java-1.x/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/OperationImpl.java index 8aca0d52e3..de4514c168 100644 --- a/branches/sca-java-1.x/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/OperationImpl.java +++ b/branches/sca-java-1.x/modules/interface/src/main/java/org/apache/tuscany/sca/interfacedef/impl/OperationImpl.java @@ -6,15 +6,15 @@ * to you 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. + * under the License. */ package org.apache.tuscany.sca.interfacedef.impl; @@ -29,6 +29,7 @@ import org.apache.tuscany.sca.interfacedef.ConversationSequence; import org.apache.tuscany.sca.interfacedef.DataType; import org.apache.tuscany.sca.interfacedef.Interface; import org.apache.tuscany.sca.interfacedef.Operation; +import org.apache.tuscany.sca.interfacedef.ParameterMode; import org.apache.tuscany.sca.interfacedef.util.WrapperInfo; import org.apache.tuscany.sca.interfacedef.util.XMLType; import org.apache.tuscany.sca.policy.Intent; @@ -37,7 +38,7 @@ import org.apache.tuscany.sca.policy.PolicySet; /** * Represents an operation on a service interface. - * + * * @version $Rev$ $Date$ */ public class OperationImpl implements Operation { @@ -49,6 +50,7 @@ public class OperationImpl implements Operation { private List<DataType> faultTypes; private Interface interfaze; private ConversationSequence conversationSequence = ConversationSequence.CONVERSATION_NONE; + private List<ParameterMode> parameterModes = new ArrayList<ParameterMode>(); private boolean nonBlocking; // TODO - WI //private WrapperInfo wrapper; @@ -58,7 +60,7 @@ public class OperationImpl implements Operation { private WrapperInfo outputWrapper; private boolean dynamic; private Map<QName, List<DataType<XMLType>>> faultBeans; - + private List<PolicySet> applicablePolicySets = new ArrayList<PolicySet>(); private List<PolicySet> policySets = new ArrayList<PolicySet>(); private List<Intent> requiredIntents = new ArrayList<Intent>(); @@ -254,19 +256,19 @@ public class OperationImpl implements Operation { //public void setWrapper(WrapperInfo wrapperInfo) { // this.wrapper = wrapperInfo; //} - + public WrapperInfo getInputWrapper() { return inputWrapper; } - + public void setInputWrapper(WrapperInfo inputWrapper) { this.inputWrapper = inputWrapper; } - + public WrapperInfo getOutputWrapper() { return outputWrapper; } - + public void setOutputWrapper(WrapperInfo outputWrapper) { this.outputWrapper = outputWrapper; } @@ -284,7 +286,7 @@ public class OperationImpl implements Operation { public void setInputWrapperStyle(boolean wrapperStyle) { this.inputWrapperStyle = wrapperStyle; } - + /** * @return the outputWrapperStyle */ @@ -297,8 +299,8 @@ public class OperationImpl implements Operation { */ public void setOutputWrapperStyle(boolean wrapperStyle) { this.outputWrapperStyle = wrapperStyle; - } - + } + // TODO - WI // These are deprecated and are a little awkward now that // we split input wrapper from output wrapper @@ -322,11 +324,11 @@ public class OperationImpl implements Operation { public void setDynamic(boolean b) { this.dynamic = b; } - + public Map<QName, List<DataType<XMLType>>> getFaultBeans() { return faultBeans; } - + public void setFaultBeans(Map<QName, List<DataType<XMLType>>> faultBeans) { this.faultBeans = faultBeans; } @@ -334,7 +336,7 @@ public class OperationImpl implements Operation { @Override public OperationImpl clone() throws CloneNotSupportedException { OperationImpl copy = (OperationImpl) super.clone(); - + final List<DataType> clonedFaultTypes = new ArrayList<DataType>(this.faultTypes.size()); for (DataType t : this.faultTypes) { clonedFaultTypes.add((DataType) t.clone()); @@ -350,11 +352,11 @@ public class OperationImpl implements Operation { new DataTypeImpl<List<DataType>>(inputType.getPhysical(), clonedLogicalTypes); clonedInputType.setDataBinding(inputType.getDataBinding()); copy.inputType = clonedInputType; - + if (this.outputType != null) { copy.outputType = (DataType) this.outputType.clone(); } - + return copy; } @@ -377,5 +379,9 @@ public class OperationImpl implements Operation { public void setType(IntentAttachPointType type) { this.type = type; } - + + public List<ParameterMode> getParameterModes() { + return parameterModes; + } + } |