package org.opendaylight.mdsal.binding.model.api.type.builder;
import java.util.List;
+import java.util.Optional;
+import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.mdsal.binding.model.api.Constant;
import org.opendaylight.mdsal.binding.model.api.Type;
+import org.opendaylight.mdsal.binding.model.api.TypeComment;
+import org.opendaylight.mdsal.binding.model.api.YangSourceDefinition;
import org.opendaylight.yangtools.yang.common.QName;
public interface GeneratedTypeBuilderBase<T extends GeneratedTypeBuilderBase<T>> extends Type {
/**
* Adds String definition of comment into Method Signature definition. <br>
- * The comment String MUST NOT contain anny comment specific chars (i.e.
+ * The comment String MUST NOT contain any comment specific chars (i.e.
* "/**" or "//") just plain String text description.
*
* @param comment
* Comment String.
*/
- T addComment(String comment);
+ T addComment(TypeComment comment);
/**
* The method creates new AnnotationTypeBuilder containing specified package
List<GeneratedPropertyBuilder> getProperties();
+ /**
+ * Returns the YANG definition of this type, if available.
+ *
+ * @return YANG source definition, or empty when unavailable.
+ */
+ Optional<YangSourceDefinition> getYangSourceDefinition();
+
/**
* Add new Generated Property definition for Generated Transfer Object
* Builder and returns Generated Property Builder for specifying Property. <br>
*/
void setReference(String reference);
+ /**
+ * Set the YANG source definition.
+ *
+ * @param definition YANG source definition, must not be null
+ */
+ void setYangSourceDefinition(@NonNull YangSourceDefinition definition);
}