import org.opendaylight.yangtools.sal.binding.model.api.GeneratedTransferObject;
import org.opendaylight.yangtools.sal.binding.model.api.GeneratedType;
import org.opendaylight.yangtools.sal.binding.model.api.Type;
+import org.opendaylight.yangtools.yang.binding.Augmentable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
final List<File> result = new ArrayList<>();
for (GeneratedType type : genTypes) {
final File genFile = generateTypeToJavaFile(parentDirectory, type, interfaceGenerator, "");
- final File genBuilderFile = generateTypeToJavaFile(parentDirectory, type, builderGenerator,
- BuilderGenerator.FILE_NAME_SUFFIX);
-
if (genFile != null) {
result.add(genFile);
}
- if (genBuilderFile != null) {
- result.add(genBuilderFile);
+ if (genFile != null) {
+ result.add(genFile);
+ }
+ // "rpc" and "grouping" elements do not implement Augmentable interface
+ if (isAugmentableIfcImplemented(type)) {
+ final File genBuilderFile = generateTypeToJavaFile(parentDirectory, type, builderGenerator,
+ BuilderGenerator.FILE_NAME_SUFFIX);
+ if (genBuilderFile != null) {
+ result.add(genBuilderFile);
+ }
}
}
for (GeneratedTransferObject transferObject : genTransferObjects) {
}
return file;
}
+
+ private boolean isAugmentableIfcImplemented(GeneratedType genType) {
+ for (Type implType : genType.getImplements()) {
+ if (implType.getFullyQualifiedName().equals(Augmentable.class.getName())) {
+ return true;
+ }
+ }
+ return false;
+ }
private File packageToDirectory(final File parentDirectory, final String packageName) {
if (packageName == null) {