«IF augmentType !== null»
«generateCopyAugmentation(implType)»
«ENDIF»
- «val allProps = new ArrayList(properties)»
«IF keyType !== null && implementsIfc(targetType, BindingTypes.identifiable(targetType))»
«val keyProps = new ArrayList((keyType as GeneratedTransferObject).properties)»
«keyProps.sort(KEY_PROPS_COMPARATOR)»
+ «val allProps = new ArrayList(properties)»
«FOR field : keyProps»
«removeProperty(allProps, field.name)»
«ENDFOR»
«generateCopyKeys(keyProps)»
+ «generateCopyNonKeys(allProps)»
+ «ELSE»
+ «generateCopyNonKeys(properties)»
«ENDIF»
- «FOR field : allProps»
- this.«field.fieldName» = base.«field.getterMethodName»();
- «ENDFOR»
}
'''
return generateDeprecatedAnnotation(found)
}
+ def protected final CharSequence generateCopyNonKeys(Collection<GeneratedProperty> props) '''
+ «FOR field : props»
+ this.«field.fieldName» = base.«field.getterMethodName»();
+ «ENDFOR»
+ '''
+
def protected abstract CharSequence generateCopyKeys(List<GeneratedProperty> keyProps)
def protected abstract CharSequence generateCopyAugmentation(Type implType)
import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.AUGMENTABLE_AUGMENTATION_NAME
import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.DATA_CONTAINER_IMPLEMENTED_INTERFACE_NAME
+import java.util.Collection
import java.util.List
import org.opendaylight.mdsal.binding.model.api.AnnotationType
import org.opendaylight.mdsal.binding.model.api.GeneratedProperty
override protected generateCopyKeys(List<GeneratedProperty> keyProps) '''
this.key = base.«BindingMapping.IDENTIFIABLE_KEY_NAME»();
- «FOR field : keyProps»
- this.«field.fieldName» = base.«field.getterMethodName»();
- «ENDFOR»
+ «generateCopyNonKeys(keyProps)»
'''
override protected generateCopyAugmentation(Type implType) {