import java.util.ArrayList
import java.util.Collection
import java.util.Collections
+import java.util.Comparator
import java.util.List
import java.util.Map
import java.util.Set
import org.opendaylight.yangtools.yang.binding.Identifiable
abstract class AbstractBuilderTemplate extends BaseTemplate {
+ static val Comparator<GeneratedProperty> KEY_PROPS_COMPARATOR = [ p1, p2 | return p1.name.compareTo(p2.name) ]
+
/**
* Generated property is set if among methods is found one with the name GET_AUGMENTATION_METHOD_NAME.
*/
«val isList = implementsIfc(targetType, Types.parameterizedTypeFor(Types.typeForClass(Identifiable), targetType))»
«IF isList && keyType !== null»
«val keyProps = new ArrayList((keyType as GeneratedTransferObject).properties)»
- «keyProps.sort([ p1, p2 | return p1.name.compareTo(p2.name) ])»
+ «keyProps.sort(KEY_PROPS_COMPARATOR)»
«FOR field : keyProps»
«removeProperty(allProps, field.name)»
«ENDFOR»