Tag generated QNAME field with @NonNull
[mdsal.git] / binding / mdsal-binding-java-api-generator / src / main / java / org / opendaylight / mdsal / binding / java / api / generator / JavaFileTemplate.java
index 7aee12a6f9ca04fc29136fac0cc2088efe303f2a..7db1bc4e801a75f9c92245a891f8fd75906b0f82 100644 (file)
@@ -27,6 +27,9 @@ import org.opendaylight.mdsal.binding.model.util.Types;
  * Base Java file template. Contains a non-null type and imports which the generated code refers to.
  */
 class JavaFileTemplate {
+    static final JavaTypeName NONNULL = JavaTypeName.create("org.eclipse.jdt.annotation", "NonNull");
+    static final JavaTypeName NULLABLE = JavaTypeName.create("org.eclipse.jdt.annotation", "Nullable");
+
     private final AbstractJavaGeneratedType javaType;
     private final GeneratedType type;
 
@@ -76,6 +79,14 @@ class JavaFileTemplate {
         return javaType.getReferenceString(intype);
     }
 
+    final String importedNonNull(final Type intype) {
+        return importedName(intype, importedName(NONNULL));
+    }
+
+    final String importedNullable(final Type intype) {
+        return importedName(intype, importedName(NULLABLE));
+    }
+
     final void addImport(final Class<?> cls) {
         javaType.getReferenceString(JavaTypeName.create(cls));
     }