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;
private static final Logger log = LoggerFactory.getLogger(GeneratorJavaFile.class);
private final CodeGenerator interfaceGenerator;
- private final ClassGenerator classGenerator;
+ private final TOGenerator TOGenerator;
private final EnumGenerator enumGenerator;
private final BuilderGenerator builderGenerator;
this.genTypes = types;
this.genTransferObjects = new HashSet<>();
this.enumerations = new HashSet<>();
- this.classGenerator = new ClassGenerator();
+ this.TOGenerator = new TOGenerator();
this.enumGenerator = new EnumGenerator();
this.builderGenerator = new BuilderGenerator();
}
public GeneratorJavaFile(final Set<GeneratedType> types, final Set<GeneratedTransferObject> genTransferObjects,
final Set<Enumeration> enumerations) {
this.interfaceGenerator = new InterfaceGenerator();
- this.classGenerator = new ClassGenerator();
+ this.TOGenerator = new TOGenerator();
this.enumGenerator = new EnumGenerator();
this.builderGenerator = new BuilderGenerator();
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(builderGenerator.isAcceptable(type)){
+ final File genBuilderFile = generateTypeToJavaFile(parentDirectory, type, builderGenerator,
+ BuilderGenerator.FILE_NAME_SUFFIX);
+
+ if (genBuilderFile != null) {
+ result.add(genBuilderFile);
+ }
}
}
for (GeneratedTransferObject transferObject : genTransferObjects) {
- final File genFile = generateTypeToJavaFile(parentDirectory, transferObject, classGenerator, "");
+ final File genFile = generateTypeToJavaFile(parentDirectory, transferObject, TOGenerator, "");
if (genFile != null) {
result.add(genFile);
}
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) {