import com.google.common.collect.ImmutableList;
import java.util.List;
import java.util.Objects;
+import java.util.Optional;
import org.opendaylight.mdsal.binding.javav2.generator.context.ModuleContext;
import org.opendaylight.mdsal.binding.javav2.generator.util.AbstractBaseType;
import org.opendaylight.mdsal.binding.javav2.model.api.AccessModifier;
import org.opendaylight.mdsal.binding.javav2.model.api.Constant;
import org.opendaylight.mdsal.binding.javav2.model.api.Type;
+import org.opendaylight.mdsal.binding.javav2.model.api.TypeComment;
+import org.opendaylight.mdsal.binding.javav2.model.api.YangSourceDefinition;
import org.opendaylight.mdsal.binding.javav2.model.api.type.builder.AnnotationTypeBuilder;
import org.opendaylight.mdsal.binding.javav2.model.api.type.builder.EnumBuilder;
import org.opendaylight.mdsal.binding.javav2.model.api.type.builder.GeneratedPropertyBuilder;
private final List<GeneratedTypeBuilder> enclosedTypes = ImmutableList.of();
private List<GeneratedTOBuilder> enclosedTransferObjects = ImmutableList.of();
private List<GeneratedPropertyBuilder> properties = ImmutableList.of();
- private String comment = "";
+ private TypeComment comment;
private boolean isAbstract;
private Type parentTypeForBuilder;
+ private YangSourceDefinition yangSourceDefinition;
protected AbstractGeneratedTypeBuilder(final String packageName, final String name, ModuleContext context) {
super(packageName, name, context);
super(packageName, name, isPkNameNormalized, isTypeNormalized, context);
}
- protected String getComment() {
- return comment;
+ protected TypeComment getComment() {
+ return this.comment;
}
protected List<AnnotationTypeBuilder> getAnnotations() {
}
@Override
- public T addComment(final String comment) {
- this.comment = comment;
+ public T addComment(final TypeComment comment) {
+ this.comment = Preconditions.checkNotNull(comment);
return thisInstance();
}
return false;
}
+ @Override
+ public Optional<YangSourceDefinition> getYangSourceDefinition() {
+ return Optional.ofNullable(yangSourceDefinition);
+ }
+
+
+ @Override
+ public void setYangSourceDefinition(final YangSourceDefinition definition) {
+ yangSourceDefinition = Preconditions.checkNotNull(definition);
+ }
+
@Override
public int hashCode() {
return Objects.hash(getName(), getPackageName());