*/
package org.opendaylight.mdsal.binding.java.api.generator
-import static org.opendaylight.mdsal.binding.model.util.Types.STRING;
import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.AUGMENTATION_FIELD
-import com.google.common.base.MoreObjects
import java.util.ArrayList
import java.util.Collection
import java.util.Collections
this.keyType = keyType
}
- new(GeneratedType type, GeneratedType targetType, Set<BuilderGeneratedProperty> properties, Type augmentType,
- Type keyType) {
+ new(GeneratedType type, GeneratedType targetType, Type keyType) {
super(type)
this.targetType = targetType
- this.properties = properties
- this.augmentType = augmentType
this.keyType = keyType
+
+ val analysis = analyzeTypeHierarchy(targetType)
+ augmentType = analysis.key
+ properties = analysis.value
}
/**
'''
}
- override generateToString(Collection<? extends GeneratedProperty> properties) '''
- «IF properties !== null»
- @«OVERRIDE.importedName»
- public «STRING.importedName» toString() {
- final «MoreObjects.importedName».ToStringHelper helper = «MoreObjects.importedName».toStringHelper("«targetType.name»");
- «FOR property : properties»
- «CODEHELPERS.importedName».appendValue(helper, "«property.fieldName»", «property.fieldName»);
- «ENDFOR»
- «IF augmentType !== null»
- «CODEHELPERS.importedName».appendValue(helper, "«AUGMENTATION_FIELD»", augmentations().values());
- «ENDIF»
- return helper.toString();
- }
- «ENDIF»
- '''
-
/**
* Template method which generate getter methods for IMPL class.
*
}
return null
}
+
+ package static def hasNonDefaultMethods(GeneratedType type) {
+ !type.methodDefinitions.isEmpty && type.methodDefinitions.exists([def | !def.isDefault])
+ }
+
+ package static def nonDefaultMethods(GeneratedType type) {
+ type.methodDefinitions.filter([def | !def.isDefault])
+ }
}