Author: fdesbois Date: 2010-06-25 12:18:33 +0200 (Fri, 25 Jun 2010) New Revision: 925 Url: http://nuiton.org/repositories/revision/eugene/925 Log: Evo #712 : add method cloneOperationSignature Modified: trunk/eugene/src/main/java/org/nuiton/eugene/java/ObjectModelTransformerToJava.java Modified: trunk/eugene/src/main/java/org/nuiton/eugene/java/ObjectModelTransformerToJava.java =================================================================== --- trunk/eugene/src/main/java/org/nuiton/eugene/java/ObjectModelTransformerToJava.java 2010-06-24 21:52:01 UTC (rev 924) +++ trunk/eugene/src/main/java/org/nuiton/eugene/java/ObjectModelTransformerToJava.java 2010-06-25 10:18:33 UTC (rev 925) @@ -47,6 +47,7 @@ import java.util.Collection; import java.util.Collections; import java.util.HashSet; +import java.util.List; import java.util.Set; /** @@ -319,6 +320,34 @@ } /** + * Clone the {@code source} operation into the {@code destination} classifier. + * Name, returnType, Parameters and Exceptions will be cloned. You can specify + * {@code modifiers} for the result operation. + * + * @param source operation to clone + * @param destination classifier where result operation will be added + * @param modifiers extra modifiers + * @return the new operation created in destination classifier + */ + public ObjectModelOperation cloneOperationSignature(ObjectModelOperation source, + ObjectModelClassifier destination, + ObjectModelModifier... modifiers) { + + ObjectModelOperation result = + addOperation(destination, source.getName(), source.getReturnType(), modifiers); + + for (ObjectModelParameter parameter : source.getParameters()) { + addParameter(result, parameter.getType(), parameter.getName()); + } + + for (String exception : source.getExceptions()) { + addException(result, exception); + } + + return result; + } + + /** * Search in {@code input} model, for a enumeration dependency named * {@link JavaGeneratorUtil#DEPENDENCIES_CONSTANTS}. * <p/>
participants (1)
-
fdesbois@users.nuiton.org