X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=binding%2Fmdsal-binding-java-api-generator%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fbinding%2Fjava%2Fapi%2Fgenerator%2FJavaFileTemplate.java;h=d86bbfe66e561ebafa90b5e9604e0c682f9cf762;hb=99459c3a8270ef41ff6c95f88f2db7bc1b278269;hp=b8b3ecf23c68474688f702a664a0af1aae4d7da4;hpb=95de0ae3f5617dcc910db29c3581d09186e527a6;p=mdsal.git diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/JavaFileTemplate.java b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/JavaFileTemplate.java index b8b3ecf23c..d86bbfe66e 100644 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/JavaFileTemplate.java +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/JavaFileTemplate.java @@ -43,7 +43,6 @@ import org.opendaylight.mdsal.binding.model.api.Type; import org.opendaylight.mdsal.binding.model.util.Types; import org.opendaylight.mdsal.binding.spec.naming.BindingMapping; import org.opendaylight.yangtools.yang.binding.Augmentable; -import org.opendaylight.yangtools.yang.binding.AugmentationHolder; import org.opendaylight.yangtools.yang.binding.CodeHelpers; @@ -68,9 +67,13 @@ class JavaFileTemplate { */ static final @NonNull JavaTypeName OVERRIDE = JavaTypeName.create(Override.class); /** - * {@code java.lang.SuppressWarnings} as a JavaTypeName. + * {@code java.lang.void} as a JavaTypeName. */ static final @NonNull JavaTypeName SUPPRESS_WARNINGS = JavaTypeName.create(SuppressWarnings.class); + /** + * {@code java.lang.SuppressWarnings} as a JavaTypeName. + */ + static final @NonNull JavaTypeName VOID = JavaTypeName.create(void.class); /** * {@code java.util.Arrays} as a JavaTypeName. @@ -110,10 +113,6 @@ class JavaFileTemplate { * {@code org.opendaylight.yangtools.yang.binding.CodeHelpers} as a JavaTypeName. */ static final @NonNull JavaTypeName CODEHELPERS = JavaTypeName.create(CodeHelpers.class); - /** - * {@code org.opendaylight.yangtools.yang.binding.AugmentationHolder} as a JavaTypeName. - */ - static final @NonNull JavaTypeName AUGMENTATION_HOLDER = JavaTypeName.create(AugmentationHolder.class); private static final Comparator METHOD_COMPARATOR = new AlphabeticallyTypeMemberComparator<>(); private static final Type AUGMENTATION_RET_TYPE; @@ -246,6 +245,16 @@ class JavaFileTemplate { return null; } + /** + * Generate a call to {@link Object#clone()} if target field represents an array. Returns an empty string otherwise. + * + * @param property Generated property + * @return The string used to clone the property, or an empty string + */ + static final String cloneCall(final GeneratedProperty property) { + return property.getReturnType().getName().endsWith("[]") ? ".clone()" : ""; + } + /** * Returns set of method signature instances which contains all the methods of the genType * and all the methods of the implemented interfaces.